2

さて、これはググるのがかなり難しいです。

ときどき、特定の状況下で変数名がプレフィックス「the」で始まる命名規則を使用する言語のコードに出くわします。

しかし、これらの状況が何であるかはわかりませんでした。だから私の質問は:

  1. この規則は一般的ですか?名前はありますか?

  2. 1) がまだ「Google に対応していない」場合: この規則の背後にある原則は何ですか? どのような問題に対処しますか? 理解したいと思います。

  3. 1) および 2) でカバーされていない場合: コンベンションはどこから来たのですか? その起源は何ですか?特定のプログラミング言語に接続されているか、または接続されていましたか?

例:

なぜ人々がこれを行うのかについての洞察を期待しています。一例として、setter/getter メソッドでメンバーからパラメーターを伝えることが考えられますが、このプレフィックスの選択は私にはランダムに思えます。

4

2 に答える 2

1

変数名を で始めたいと思うのは、それがsingletonであることを示すときだけです。それ以外は、その使用は不要のようです。

于 2013-07-13T23:44:20.637 に答える
1

個人的な経験 (主に Java、Ruby、Python、そしてずっと前の C と C++) に基づいて、あなたが説明する規則は一般的ではありません。

関連する規則として、Kent Beck の「Smalltalk Best Practice Patterns」(Smalltalk を作成するかどうかに関係なく優れた本) の「Type Suggesting Parameter Name」パターンがありa(type)ます。私の理解では、この規則はコードをもう少し英語のように読めるようにするためのものであり、そうでなければ発生する可能性のある名前の衝突を避けるためのものではありません。(Smalltalk クラスは大文字で始まるため、クラス名を小文字にしてパラメーターに名前を付けることができ、衝突は発生しません。)an(type)anObject

この慣例の拡張版では、どこかでパラメータまたは locals にaoranをプレフィックスとして付け、オブジェクト インスタンス変数に を付けてtheいます。これには意味があります。インスタンス変数は、含まれているオブジェクトにとって最も重要なものであり、パラメータまたは local は単に "事。どこで見たのか思い出してみたい。著名な作家さんの作品だと思います。

私は通常、これらの規則を自分で使用しません。代わりに、私は (私が見たほとんどのコードと同様に) this.Java とself.Ruby でインスタンス変数を明確にするために使用し、パラメーターとローカル変数を明確にする必要性を回避するために短いメソッドに依存しています。型ではなく役割に応じて変数に名前を付けること (いずれの場合でもベスト プラクティス) も、通常、そのような規則の必要性を排除します。

しかし、私がかつて読んだものに触発されてthe、ローカルがメソッドまたは関数をシャドウするときに使用し、ローカルの別の意味のある名前が思い浮かびません。

Ruby では、メソッドに引数がない場合にのみ、ローカルはメソッドをシャドウします。

def foo
  7
end
foo = foo
=> nil # the left hand side shadowed the right hand side

これは、括弧を空にしてメソッドを呼び出すことで回避できます。

def foo
  7
end
foo = foo()
=> 7

しかし、空の括弧は非常にRubyらしくないように見えるので、私は「the」を好みます:

def foo
  7
end
the_foo = foo
=> 7

thePython では、ローカルは関数の引数の数に関係なく関数をシャドウできるため、より頻繁に手を伸ばすことに気付きます。

于 2016-12-08T00:01:20.190 に答える