次の2つの宣言の違いがヘッダーファイルにあることを知りたかったのですが、これらの両方のスタイルに出くわしました
void some_method(int);
2番目のスタイルは次のとおりです。
void some_method(int a);
あるスタイルには他のスタイルよりも利点がありますか。私にとって、1 つのスタイルには変数の名前がなく、変数の名前は付属の cpp ファイルに実装する必要があります。
次の2つの宣言の違いがヘッダーファイルにあることを知りたかったのですが、これらの両方のスタイルに出くわしました
void some_method(int);
2番目のスタイルは次のとおりです。
void some_method(int a);
あるスタイルには他のスタイルよりも利点がありますか。私にとって、1 つのスタイルには変数の名前がなく、変数の名前は付属の cpp ファイルに実装する必要があります。
機能に違いはありませんが、次のようにパラメータ名をドキュメントの形式としてよく使用します。
void verbTheThing(int verbId, int thingId);
追加する価値のあるものが何もない場合は、追加しません。
int max(int, int);
主な関心事は一貫性です。1 つを選んでそれに固執します。私は個人的には 2 番目を好みます。パラメーター名は機能を記述でき、自己文書化されたコードは別の方法よりも優れているからです。
主な違いは読みやすさです。2 番目のバージョンは長くなりますが、引数の名前があると本当に役立つ場合があります。ちょっとした例:
int move(int, int, int, int);
int move (int fromX, int fromY, int toX, int toY);
一部の開発環境 (Visual Studio、Borland C++ Builder、たとえば eclipse にもこの機能があるはずです) では、(
ブラケットを入力すると、関数の引数が自動的に一覧表示されます。
これらの IDE では、関数の引数名 (ヘッダー内) がドキュメントとして機能するため、できるだけわかりやすいものにするのが一般的な礼儀です。
プログラマーがこの機能を備えた IDE を持っていない場合でも、前方関数宣言 (ヘッダー内) は常に可能な限りわかりやすいものにする必要があります。*.cpp
同じ理由で、無数のファイル内で関数本体を探すよりも、ヘッダーを開いて関数パラメーターの意味を読み取る方が簡単です。
言うまでもなく、一部の関数では、パラメーター名がないと、パラメーターが何を意味するのかを理解できません。
例えば、
Image::blitRect(int, int, int, int);
になり得る
Image::blitRect(int x1, int x2, int y1, int y2);
Image::blitRect(int x1, int y1, int x2, int y2);
Image::blitRect(int x, int y, int width, int height);
もちろん、C++ プログラマーはこの状況で Point と Size のクラスを追加しますが、それは別の話です。
どちらのオプションも有効です。ただし、ヘッダーにパラメーター名を指定すると、関数のシグネチャを読んで、実際の動作とパラメーターが表すデータをすばやく把握するのに非常に役立ちます。
コンパイルに関する限り、どちらも違いはありません。ただし、パラメーターに名前を付けるとコードが読みやすくなり、人々がよりよく理解できるようになるため、2 番目の方が優れています。