2012-11-30 22 views
6

私はネイティブの英語話者ではないので、ブール値を返す関数の命名規則に混乱します。私は次の関数名を知られているbooleanを返す関数の命名規則は何ですか?

は従来通りである:

bool is_valid(); 
bool is_sorted(); 
bool is_empty(); 
bool has_children(); 
bool can_draw(); 

はしかし、私は以外の動詞で始まる別の関数名、だろうか「である、ことができます、などを持っている」、されています

bool TryToCloseWindow(); // check to see if the user tries to close the window 
bool IntendToCloseWindow(); // as above 
bool FileExists();   // check to see if the file exists 

英語のネイティブスピーカーとプログラマーの場合、3つの機能名は従来のものと思われますか?

+1

Cから派生した言語(例:C++やJavaなど)には固定命名規則はありませんが、そのような場合には、 。それは個人や組織にとって非常に重要です。異なる人/組織は、異なる命名スタイルを持っています。 –

+0

私は最後の3つが自然に見えるかどうかを知りたい。 – xmllmx

+1

WIN32 APIには、最後の3つと同様の名前の関数がいくつかあります。しかし、それが自分のコードであれば、識別子の名前と書式を設定する方法はあなた次第です。あなたが快適に感じるスタイルを選んで、プロジェクト間でスタイルを変えることさえできます。単一のプロジェクトにスタイルを統一してください。 –

答えて

7

あなたのタイトル質問への簡単な回答:別のものです。さまざまな慣習があり、おそらくプログラマーよりも多くの慣習があります。いくつかの規則は、関数の名前を返すすべてのブールの開始時に "is"を持たせたいものもあれば、そうでないものもあります。アンダースコア、CamelCase、lowerCamelCaseなどについて疑問を抱かせたり議論したりしないでください。あなたが選んだものに固執する限り、それらはすべて同じように読みやすくなります。

だと思います。は、です。重要なのは、機能名が自分が何をしているのかを表現することです。 boolを返す関数は、条件文やループのコンテキストで表示されることがよくあります。だから私はそのような文脈にあなたの意図した名前を入れ、それが正しいと思うかどうかを知ることが最善だと思います。例えばif (fileExists()) { /* ... */ }いいですね。 tryToCloseWindow()は "ちょっと、コンパイラ/プログラム、そのウィンドウを閉じてください"のように聞こえる。あなたのコメントは、あなたが望むものではないヒントを与えます。たぶん 'userIsClosingWindow()'かそのようなものを使用してください。 "意図"は私が関数名に使う動詞ではありません。 sthを意図する。あなたがしたいことを意味します、あなたはそれを念頭に置いて考えていますが、実際の行動はありません。だからウィンドウを閉じる予定の場合は、そのまま実行するか、そのままにしてください。コンパイラに "ちょっと、私はそのウィンドウを閉じようと思っています。また、ユーザーがウィンドウを閉じる予定があるかどうかを判断する手段がありません。

+0

あなたの説明のために多くのおかげです。 – xmllmx

1

一般に、以下のような命名規則は小文字で始める必要があります。

bool tryToCloseWindow(); // check to see if the user try to close the window 
bool intendToCloseWindow(); // as above 
bool fileExists();   // check to see if the file exists 
0

isValid()のような名前を使用している場合は、より意味があります。

trueまたはfalseを返します。if(isValid()) ...の場合、誰でも簡単にその概念を理解できます。

通常、すべての組織が同じ命名規則に従っているわけではありません。それは会社、開発者、開発者によって企業によって異なります。

+0

私はちょうど最後の3つが従来のものかどうかを知りたがっています。 – xmllmx

+0

あなたはこの BOOL IsTryToCloseWindow()のように使用している場合。 bool IsIntendToCloseWindow(); bool IsFileExists(); です。 – andy

+2

これらの名前は文法上正しいものではありません。 – xmllmx

関連する問題