私は Swift から Kotlin に移行していますが、今のところ気に入っています。ただし、私はこのようなメソッドを宣言することに慣れています (参照されたメソッドが存在し、機能するふりをします):
// Swift method declaration
func drawCircle(inRect rect: CGRect, antialiased: Bool) {
super.antialiased = antialiased
super.drawCircle(inRect: rect)
}
そしてそれらを次のように呼び出します:
drawCircle(inRect:myRect, antialiased: false)
これは自己文書化が美しく、英語のように読めます。ただし、Kotlin では、次のような同様の方法があります。
fun drawCircle(inRect: Rectangle, antialiased: Boolean) {
super.antialiased = antialiased
super.drawCircle(inRect)
}
という名前の変数を使用すると、すでに奇妙に聞こえ始めますinRect
。しかし、それを呼び出すとさらに悪化します。
drawCircle(myRect, false)
ここに最大の問題があります。この行だけを読むmyRect
と、円が描かれる四角形であることが推測できます。しかし、何true
ですか?はい、アンチエイリアシングの可能性がありますが、不透明に描画するかどうか、またはまったく描画するかどうかについてのトグルも可能です! とにかく、Swift と Objective-C のプログラマーがメソッド呼び出しのラベルを好む理由をもっと挙げることができますが、私の主張はここまでです。
Kotlinのメソッド呼び出しでラベルを有効にする方法はありますか?