メソッド/変数/その他の名前にアンダースコアを使用することは悪い考えであることを示す、複数のスタイルガイドラインやその他のリソースを読みました。Scalaが名前に下線を付けた
この背景にはどのような技術的な理由がありますか?
私は非常に慣れています。ヘルパー関数の前に_を付けてください。プライベートでなければならない機能もあり、私はREPLを介してアクセスできるように公開する必要があります。 "ヘルパー"接尾辞の使用のような他の命名規則はちょっと面倒です。
ご迷惑をおかけして申し訳ございません。
これは非常に構成されたケースです:あなたは 'xs:Seq [T:{def x:U}]'を持っています。エラーが発生するには、正確に '_x:{def apply(y:T):U}'が必要です。これらの3つの制約のいずれかが存在しない場合、コンパイルされません。それは正確に '_x'という名前でなければならず、' U'を返さなければならない単一の 'T'引数で呼び出し可能でなければなりません。私は少しでも確信していない。 –
@ sheep - あなたはその種の名前の衝突があるとは思わないでしょう。重要なのは、コードを素早く読んでいるときに、ローカルコードのプライベートメソッドか、コレクション要素のパブリックメソッドが有効かどうかをすぐに知ることができないということです。もちろん、非常に迅速に把握することができますが、離れた場所から形を見れば、より速く把握できます。 –