私は英語を母国語としない人のチームと協力していて、メソッドをgetFilePath
ではなくgetPathFile
と呼ぶ必要がある理由を説明するルールを考え出すのに苦労しています。
この悪いネーミングの例は毎日出てきますが、より良い名前を指摘するだけで、「それが英語でどのように書かれているのか」を除いて、単語が特定の順序になっている理由を説明する良い方法を理解できません。特に、このような変数名の場合、そのコンポーネントは形容詞ではないためです。
これは非常に基本的で、おそらくここのすべての人にとって第二の性質であることに気づきますが、それが私がそれを理解していない人々に説明する方法を理解するのに苦労している理由だと思います。
どのように説明しますか?
ソリューション1:
動詞が識別された最後の単語に関連していること、およびその間の他の単語が追加の詳細を提供し、その重要性が右から左に減少していることをチームに伝えます。したがって、パスを取得したい場合はgetPath()
です。彼らがそれがファイルのパスだと言いたければ、彼らはgetFilePath()
の間に詳細を追加します。このファイルパスが長い場合、getLongFilePath()
のように詳細が追加される可能性があります。
逆に、あなたは自己評価テストを提案することができます:最初と最後の単語だけの簡略化された識別子はまだ正確でしょうか?
getPath() -> getPath() : ok
getFilePath() -> getPath() : ok
getPathFile() -> getFile() : not ok, because the string of the path is not a file descriptior.
ソリューション2:
より適切な識別子の記述に関するワークショップを開催します。最良の方法は、英語でニースシンプルな 公称グループ を構築する方法に集中できる言語トレーナーと一緒にこれを行うことです。
「それがどのように英語で書かれているのか」を除いて、単語が特定の順序になっている理由を説明する良い方法がわかりません
それがこのように書く唯一の理由だからです。
すべてのプログラミングはアメリカ英語で行われるべきだというコンセンサスがあるという素朴な見方があります。しかし、実際にはそうではありません。開発者にtheyが理解できる名前を選択させてください。代替言語のインテリセンスコメントを追加する
「ファイルパス」は 名詞句 です。特に、頭の名詞がこの場所にある場合、この名詞句の構文を説明する方法を見つけたい)、そして返される値は、頭の名詞によって名前が付けられたもののインスタンスでなければなりません。
関数はおそらくパス、特にファイルのパスを返します。単語を入れ替えると、パスに関連する種類のファイルが返されることになります。