Google c++ style guideに従おうとしました。私はプライベートメンバーのセッターを持っています-年齢。
私の問題は、setAge 引数の名前を何にするかです。Javaでは、 this キーワードを使用して、同じ名前とそれらの間の違いの両方を持っています。
void setAge(int age){
this.age = age;
}
C++ でこれを行うためのコーディング スタイルは何ですか (Google コーディング スタイルが推奨されます)。
Google c++ style guideに従おうとしました。私はプライベートメンバーのセッターを持っています-年齢。
私の問題は、setAge 引数の名前を何にするかです。Javaでは、 this キーワードを使用して、同じ名前とそれらの間の違いの両方を持っています。
void setAge(int age){
this.age = age;
}
C++ でこれを行うためのコーディング スタイルは何ですか (Google コーディング スタイルが推奨されます)。
Google C++ コーディング標準では、クラス データ メンバーの末尾にアンダースコアを追加することが推奨されています。これに従うことは非常に重要だと思います。そうしないと、ローカル変数名を持つクラス データ メンバーを非表示にすることが保証されます。
ゲッターとセッターに関しては、メソッドが何をするかが明らかな場合、私は個人的にgetX
面倒setX
だと思います。
int age() const; // gets age, what else could it do?
void age(int age); // sets age, following the principle of least surprise.
命名規則は多かれ少なかれ恣意的ですが、この場合、明らかな解決策は次のようになります。
void setAge( int newValue /* or newAge */ );
ローカルの規則に応じて、関数の名前setAge
は、、または単にage
;になります。後者の場合、関数とデータメンバーを区別するために何らかの規則が必要です。私が見たほとんどの場所では、またはデータメンバー用(静的データメンバー付きまたは静的データメンバー用)のいずれm_age
かを使用しています。どちらかがトリックを行います。(私も見てきました。ただし、一部のフォントでは見づらい傾向があるため、一般的には先頭と末尾を避けるのが最善です。)myAge
s_age
ourAge
_age
age_
_
いくつかの規則に従う限り、規則は実際には無関係です。newAge
私は議論のために(またはnew_age
あなたが本当にGoogleのガイドラインに従いたいのであれば)使用する傾向がありsetAge()
ます。
「標準ライブラリ規約」に従います。getter と setter の両方がプロパティのように呼び出されます。
void size(size_t size);
size_t size() const;
プライベート メンバーは、末尾にアンダースコアが付いた同じ名前です。
size_t size_;
私は個人的にcppのJavaの慣習に従っています。したがって、プロパティに「ニューエイジ」という名前を付けたい場合、メンバーには。という名前が付けられnewAge
ます。次に、ゲッターに名前が付けられgetNewAge()
、セッターに名前が付けられsetNewAge(int newAge)
ます。