多くのコード(たとえば、いくつかのAndroidソースコード)を見て、フィールド名がm
で始まり、静的フィールドがs
で始まる
例(Android View class source)から取得):
private SparseArray<Object> mKeyedTags;
private static int sNextAccessibilityViewId;
m
とs
は何を表していますか... m
は変更可能でs
は静的ですか?
m
は通常、パブリックメンバー用です(一般的なCコードの規則については、この回答を参照してください C++クラスでメンバー変数にプレフィックスを使用する理由 )。
私はこれまでs
を見たことがありませんが、その答えに基づいています:
- メンバーのm
- 定数/読み取り専用のc
- ポインターのp(およびポインターへのポインターのpp)
- v揮発性
- 静的の場合
- インデックスとイテレータのi
- イベントのe
そのコードを見たプロジェクトの公開された標準を読みましたか?
最も有名な接頭辞表記法の1つは ハンガリー語表記 です。
接頭辞に関するJoel Spolskyによる優れたブログ投稿があります: 間違ったコードを間違ったものにする
それはハンガリー語表記と呼ばれ、それはひどいです。それについていくつかの研究を行ってください、それは実際には誤解された概念です。
HTMLフォームでのユーザーからの直接の入力など、害を及ぼす可能性のある変数を示しています(たとえば、DBに保存する前にHTMLを削除してください)。
var unsafeComment = $('.input').val();
save(unsafeComment);//looks wrong
//strip out html then save
Mはmemberの場合で、sはstaticの場合です。