キャメルケースのルールについては知っていますが、このmルールと混同しています。それは何の略ですか?私はPHP開発者です。「私たち」は、ブールの「b」、整数の「i」のように、変数の最初の文字をタイプの指標として使用します。
「m」はJavaのものですか?それはモバイルの略ですか?混合?
キャメルケースのルールについては知っていますが、このmルールと混同しています。それは何の略ですか?私はPHP開発者です。「私たち」は、ブールの「b」、整数の「i」のように、変数の最初の文字をタイプの指標として使用します。
「m」はJavaのものですか?それはモバイルの略ですか?混合?
回答:
この表記は、AOSP(Android Open Source Project)貢献者向けのコードスタイルガイドラインに基づいています。
フィールドの命名規則に従う
- 非パブリックで非静的なフィールド名はmで始まります。
- 静的フィールド名はsで始まります。
- 他のフィールドは小文字で始まります。
- public static finalフィールド(定数)はALL_CAPS_WITH_UNDERSCORESです。
リンクされたスタイルガイドは、Androidオープンソースプロジェクトにコードを提供するためのものです。
個々のAndroidアプリのコードのスタイルガイドではありません。
多くのコーディングガイドラインでは、クラスの「メンバー」にmを使用しています。したがって、プログラミングしているときに、ローカル変数とメンバー変数の違いを確認できます。
m
ます。これは、接頭辞よりも読みやすくなっています。
m接頭辞とは何ですか?
mメンバー変数またはデータメンバーを表します。m非パブリックおよび非静的フィールドにはプレフィックスを使用します。
いつ使用するのですか?
private String mCityName;
private float mTemperature;
いつ使用しないのですか?
public static int mFirstNumber;
public static final String mDATABASE_NAME;
私がやること?
個人的には使用しません。それはコードをより複雑にし、読みやすさを混乱させます。まだコーディングにメモ帳を使用している場合、言葉はありませんが、最新のIDEはメンバーとローカル変数などを強調表示して色を付けることができます。
結論
使用する?「はい」または「いいえ」はあなたの個人的な選択です。
public static int
ますが、使用s
するのではなく、m
:public static int sFirstNumber;
、参照stackoverflow.com/a/49453184/7767664
クラスのメンバー変数の場合、「m」は「メンバー」を意味します。多くのJavaプログラマーがこれを行いますが、最新のIDEでは、強調表示やマウスオーバーツールチップなどがあるため、必要ありません。
どのコード規約が使用されているかは非常に個人的なものだと思います。変数には次の接頭辞を付けたいと思います。
しかし、私は各プログラマーが独自のスタイルを持っていると思います。
前に述べたように、それは異なる変数に対してスタイルが設定されています。ただし、コード生成にも非常に役立ちます。「Alt + Insert」を押すと、最も一般的なコード生成プロパティのウィンドウが表示されます。変数の「取得」メソッドを生成する場合は、取得します。
public class Foo{
private int bar;
public int getBar(){
return this.bar;
}
public void setBar(int bar){
this.bar = bar;
}
}
しかし、「m、s」を宣言すると、次のようになります。
public class Foo{
private int mBar;
public int getBar(){
return mBar;
}
public void setBar(int bar){
mBar = bar;
}
}
これは自動的に生成され、コンストラクタ、取得、設定メソッド名から「m」または「s」が削除されます。この後、フィールドの「取得」と「設定」は「m」なしで生成されます。Andoroid Fle->設定->コードスタイル-> Java->コードの生成。写真のように作ります。多分それは役立つでしょう。申し訳ありません。 Androidを構成する
メンバー変数を「m」で始めるのは、初期のAndroid / Googleエンジニアの個人的な好みだったようで、推奨されました。
現在、このルールはAOSPの貢献者ではない企業の開発者の喉を押し下げています。そのページがAndroid Code Styleルールと見なされているからです。そのルールにはほとんどメリットがありません。Googleはそれを削除することを検討する必要があります。それ以外の場合は、Androidアプリの場合、どのコードスタイルルールがオプションであるかを指定してください。
この請願書にサポートのコメントを追加して、ルールを削除してくださいhttps://code.google.com/p/android/issues/detail?id=226814
また、クラス/インスタンスが「この変数は私の変数であり、他の誰もそれに到達することはできない」と言っているように、それは「私のもの」を表すとも言えます。staticとは異なりますが、Classでのみ使用できる場合もありますが、そのクラスのすべてのインスタンスで共有されます。円を描く場合と同様に、各円の半径の大きさを知る必要があります
private double mRadius;
同時に、カウンターにすべてのサークルを追跡させたい場合は、サークルクラス内で、
private static int sCircleCount;
そして、現在持っているサークルの数を増やしたり減らしたりするための静的メンバーがあります。
以下は命名規則です。
- 非パブリックで非静的なフィールド名はmで始まります。
- 静的フィールド名はsで始まります。
- 他のフィールドは小文字で始まります。
- public static finalフィールド(定数)はALL_CAPS_WITH_UNDERSCORESです。
例:
public class MyClass {
public static final int SOME_CONSTANT = 42;
public int publicField;
private static MyClass sSingleton;
int mPackagePrivate;
private int mPrivate;
protected int mProtected;
}