質問

現在でもよく見かけるようにな字でJava変数と方法の例では、メンバ変数("m_count"または"_count").私が覚えていて、アンダースコア(_)を使用これらの場合は悪いスタイルによります。

を使用する必要があが定数(のように"公開最終static int IS_OKAY=1;")で定数はすべての上の場合はキャメル。ここでは、アンダースコアは、コードの読みやすくするた.

思いを強調Javaが悪い。その場合は、いかがでしょうか?

役に立ちましたか?

解決

現在使用しているコードがない場合は、継続することをお勧めします。コードベースで使用している場合は、それを続行します。

コーディングスタイルの最大の特徴は、一貫性です。一貫性のあるものが何もない場合は、言語ベンダーの推奨事項を参照してください。

他のヒント

sunDoesNotRecommendUnderscoresBecauseJavaVariableAndFunctionNamesTendToBeLongEnoughAsItIs();

as_others_have_said_consistency_is_the_important_thing_here_so_chose_whatever_you_think_is_more_readable();

ルール:

  1. 編集中のコードが行うことを行う
  2. #1が当てはまらない場合は、アンダースコアを使用せずにキャメルケースを使用してください

Javaやその他の言語では、_やm_を使用してメンバー変数が悪いことを示すとは思わない。スニペットを見て、ローカルからすべてのメンバー変数をすばやく識別することができるので、コードの可読性が向上すると思う。

ユーザーに" this"をインスタンス変数の先頭に追加することにより、これを実現することもできます。しかし、私はこの少し厳しいドラコニア人を見つけます。 DRYはインスタンス変数であるため、多くの点でDRYに違反しています。なぜそれを2回修飾します。

個人的なスタイルは、_の代わりにm_を使用することです。その理由は、グローバル変数と静的変数もあるためです。 m _ / _の利点は、変数スコープを区別することです。したがって、グローバルまたは静的に_を再利用することはできず、代わりにそれぞれg_とs_を選択します。

"悪いスタイル"非常に主観的です。特定の規則があなたとあなたのチームのために働くなら、私はそれが悪い/良いスタイルを修飾すると思います。

質問に答えるには、プライベート変数をマークするために先頭のアンダースコアを使用します。わかりやすく、コードをすばやくスキャンして、何が起こっているのかを見つけることができます。

(名前の衝突を防ぐため以外は、ほとんど" this"を使用しません。)

変数の前で「m_」または「_」を使用すると、オブジェクト全体のメソッドでメンバー変数を簡単に見つけることができます。

副次的な利点として、「m_」または「_」を入力すると、intellsenseが最初にポップアップします;)

  • (プライベート)インスタンス変数の先頭のアンダースコアが好きなため、読みやすく、区別しやすいようです。もちろん、このことは、エッジケース(たとえば、パブリックインスタンス変数(一般的ではない、私は知っています))あなたがそれらに名前を付ける方法は、おそらくあなたの命名規則を破っている:
  • private int _my_int;  public int myInt ;? _my_int? )

-この_styleが好きで、読みやすいと思う限り、それは価値があるよりも間違いなく厄介だと思います、それは珍しいことであり、使用しているコードベースの他のものと一致しない可能性が高いためです

-自動化されたコード生成(たとえば、Eclipseの生成ゲッター、セッター)はこれを理解する可能性が低いため、手で修正するか、Eclipseで認識できるように修正する必要があります。

最終的に、あなたは他の(java)世界の環境設定に反対し、そこからいらいらする可能性があります。そして、以前のポスターが言及したように、コードベースの一貫性は上記の問題のすべてに勝ります。

アンダースコアの使用が昔はスタイルが悪いと考えられていた理由があります。ランタイムコンパイラが手に負えないものであり、モニターに驚くべき320x240ピクセルの解像度が付いていた場合、 _name __ name を区別するのは簡単ではなかったことがよくありました。

プライベート変数とパブリック変数を区別するものがあると便利ですが、一般的なコーディングでは '_'が好きではありません。新しいコードで支援できる場合は、その使用を避けます。

リンクは、 Java。これらを使用しなければならないわけではなく、それらのライブラリコードがそれらすべてに従うこともありませんが、ゼロから始めるのであれば良いスタートです。 Eclipseのようなツールには、これらの規則(または定義した他の規則)に準拠するのに役立つフォーマッタとクリーンアップツールが組み込まれています。

私にとって、「_」は入力するのが難しすぎる:)

このブレンドコーディングメーカーです。一考をはじめ、民間メンバーアンダースコアを識別します。

setBar( int bar)
{
   _bar = bar;
}

の代わりに

setBar( int bar)
{
   this.bar = bar;
}

そのアンダースコア(_)を使用することや温度変数を応用することの範囲の末尾にメソッドの呼び出し.(こんな良い方法だと、この宣言はすぐそこ!いかという体制を取っている範囲)の編集:神禁止プログラマーからこの学校プログラマーからのmemberData学校が連携し!この地獄である。

時には、生成されたコードす序変数_は__.のマーケティングが"デザインをする人がいこく安全です。

言語固有のスタイルガイドラインに違反する(正当な理由なしに)スタイルはugいため、「悪い」と思います。

間違いなく、あなたが見たコードは、アンダースコアが許容される言語で働いていた人によって書かれたものです。

新しいコーディングスタイルに適応できない人もいます...

(私の経験では)人々がそれを行う理由は、メンバー変数と関数パラメーターを区別するためです。 Javaでは、次のようなクラスを使用できます。

public class TestClass {
  int var1;

  public void func1(int var1) {
     System.out.println("Which one is it?: " + var1);
  }
}

メンバー変数_var1またはm_var1を作成した場合、関数にあいまいさはありません。

だからそれは a スタイルであり、私はそれを悪く呼ぶつもりはありません。

個人的に、言語はコーディングスタイルについて規則を作るべきではないと思います。それは好み、使用法、利便性、読みやすさに関する概念の問題です。
現在、プロジェクトは、リスト全体で一貫性を保つためにコーディング規則を設定する必要があります。これらのルールに同意しないかもしれませんが、貢献したい(またはチームで仕事をしたい)場合は、それらに固執する必要があります。

少なくとも、EclispeのようなIDEは不可知論的であり、変数の接頭辞や接尾辞、さまざまなスタイルのブレース配置、スペース管理などのルールを設定できます。したがって、 に沿ってコードを再フォーマットできます。ガイドライン。

注:私は、C / C ++から古い習慣を守っており、メンバー変数のm_プレフィックス(および静的変数のs_)でJavaをコーディングし、ブール値の先頭にbを付け、関数名に大文字を使用し、中括弧の整列... Java原理主義者にとっての恐怖! ;-)
おもしろいことに、それは私が働いている場所で使われている慣習です...おそらく、最初の最初の開発者はMFCの世界から来たからでしょう! :-D

それはあなた自身のスタイルであり、悪いスタイルのコードではなく、良いスタイルのコードでもありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top