2010-12-02 42 views
-1

これは意見の問題ではなく、適切なコンテキスト名を選択することのメリットです。大会に焦点を当てていないので、重複しているとは思わない。

私の同僚は、名前を分類するための型情報やカテゴリなどの要素に基づいて名前を付けたいと思っています。私は完全に同意しておらず、変数、オブジェクト、型(クラス)は短い説明的な名前でなければなりません。正式な文法。命名規則

  • 可能な限り、私は平易な英語で最も理にかなった名前を選びます。
  • それは型(クラス)だなく、それは、アクション(関数やメソッド)
  • だ場合、私はメンバーのために、このようなパラメータのpと、コンテキスト情報と私の変数の接頭辞たくない、または_とき、私はFilterPersonPersonFilterを好みます変数(フィールド)
  • 私は変数に型情報を含めません。 tbFirstName(TextBox firstName)型は名前ではなく宣言で与えられます。私はこのケースでのC#で主に働いている(自動補完)ウィンドウ

彼らはインテリセンスで一緒に閉じてグループ化したいので

  • 私はいくつかの任意の名前で私の変数の前に付けることはない、とすることを理解します静的なタイピングの恩恵を受けることができない他の言語には他にも懸念があるかもしれませんが、私はIDE(Visual Studio)のサポートによって、これらの古い規則は不要で単純に醜いものになります。

    完全に明確にするために、静的言語には、コンパイル時に使用できる多くの型情報があり、型の冗長性に基づいた接頭辞が作成されます。現在まで、MicrosoftがVisual Studioで使用していたIntelliSenseエンジンは適切な仕事をしていますが、それはより効果的です。 (これは実行時に型が解決されたときは不可能ですが、静的型や動的型付けされた言語に異なる命名規則が当てはまると仮定するのは当然ですが、違いがないと主張するかもしれませんただその事実のため)

    この質問の文脈を考えれば、私たちはあなたに同意しないか同意しますか?これらの議論にはメリットがありますか?

  • +0

    「静的タイピングの恩恵を受ける」...あなたはそれが意見の問題だと思いますか? – Javier

    +1

    テキストボックス、ボタンなどを除いてほぼ完全に同意します。プレフィックスを使用すると、IntelliSenseのコントロールを見つけるほうがずっと簡単だと思います。 – neo2862

    +0

    @Javierいいえ、それは意見の問題ではなく、それはあなたが使用しているツールと静的なタイプと動的なタイプのタイプとの間に違った違いがあります... –

    答えて

    -1

    私は3番目の点を除いてすべての点に同意します。私はすべてのメンバフィールドの幅にm_とすべてのスタティックメンバフィールドの先頭にs_という接頭語を付けています。コードをすばやく確認すると、それは私に大きな違いをもたらします。

    +0

    適切な構文ハイライトを使用してIDEを使用し始めたときに、その表記法を使用して停止しました。 – willcodejavaforfood

    +0

    @willcodejavaforfood、このコンベンションはまだ私の仕事で使用されていますが、実際にはそこに行く前に使っていましたが、私はまだIDEで評価しています:大きなJavaクラス(例:JFrame)あなたのコードで追加されたメンバーを一見して(そしてグループ化して)区別するのはいいですね:-) – PhiLho