2

私は 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のメソッド呼び出しでラベルを有効にする方法はありますか?

4

1 に答える 1