web-dev-qa-db-ja.com

命名規則:ブール変数の名前は?

オブジェクトがリストの最後にあるときにfalseを返すブール値には、適切な変数名が必要です。

私が思いつく唯一のまともな名前は「inFront」ですが、私はそれが十分に説明的であるとは思いません。

別の選択肢は「isNotLast」です。ただし、これは良い方法ではありません(コードの完了、269ページ、正のブール変数名を使用)。

変数の定義を変更できることを認識しています。そのため、オブジェクトが最後で変数 'isLast'を呼び出すときにtrueが返されますが、最初の説明があればこのタスクが簡単になります。

58
Berek Bryan
isBeforeTheLastItem

isInFrontOfTheLastItem

isTowardsTheFrontOfTheList

多すぎるかもしれませんが、それらはあなたにアイデアを与えるのに役立つかもしれません。

55
Bela

私の投票は、IsLastという名前を付けて機能を変更することです。それが本当にオプションではない場合、IsNotLastのままにします。

Code Complete(正のブール変数名を使用)に同意します。また、ルールが破られるようになっていると思います。重要なのは、絶対に必要な場合にのみそれらを壊すことです。この場合、代替名はどれも、ルールを「破る」名前ほど明確ではありません。そのため、これはルールを破ることで問題ない場合の1つです。

32
Jeff Siver

hasFollowingItems?またはhasFollowingXXXXsで、XXXXはリスト内のアイテムが何であるか?

17
marklam

個人的に何よりも、ロジックを変更するか、ビジネスルールを調べて、潜在的な命名を指示しているかどうかを確認します。

なぜなら、ブール値を切り替える実際の条件は、実際には「最後」であるという行為だからです。ロジックを切り替えて、「IsLastItem」などの名前を付ける方がより好ましい方法だと思います。

13
Mitchel Sellers

isPenultimateOrPrior

isBeforeEnd

4
Greg

Haskellはinitを使用して、リストの最後の要素(基本的にtailの逆)を除くすべてを参照します。 isInInitは機能しますか、それとも不透明すぎますか?

単純なセマンティック名はlastです。これにより、次のようなコードは常に正のコードになります。

if (item.last)
    ...

do {
   ...
} until (item.last);
2
Wil Moore III

どうですか:

 hasSiblings
 or isFollowedBySiblings (or isFolloedByItems, or isFollowedByOtherItems etc.)
 or moreItems

「ルール」にブレーキをかける習慣を身に付けてはいけない場合でも、何かを達成するための最良の方法は、ルールの例外を作成すること(コード完了ガイドライン)である場合があり、あなたの場合、変数に名前を付ける- isNotLast

1
Mike Dinescu

考慮すべき2つの問題

  1. 変数のスコープは何ですか(つまり、ローカル変数またはフィールドについて話しているのですか?)?ローカル変数は、フィールドと比較して狭いスコープを持ちます。特に、変数が比較的短いメソッド内で使用される場合、その名前はあまり気にしません。スコープが大きい場合、ネーミングがより重要です。

  2. この変数の扱い方には、本質的な矛盾があると思います。一方では「オブジェクトがリストの最後にある場合はfalse」と言いますが、他方では「inFront」とも呼びます。リストの最後にある(ない)オブジェクトは、inFrontとして(ない)印象を与えません。これは、isLastで行います。

0
Itay Maman

変数beforeLastを呼び出します。

0
John Topley

オブジェクトがリストの最後にある場合にfalseを返すブール値の適切な変数名が必要です。

最新の PEP 8 Style Guide for Python Code によると、変数名は「読みやすくするために、必要に応じて単語をアンダースコアで区切って小文字にする必要があります。」例えば、変数に名前を付ける必要があります.

is_not_last

他のプログラミング言語は、変数にlowerCamelCaseスタイルを使用します(firstName、lastNameなど)。ただし、Pythonはunderscore_separatedスタイルを好みます。

0
Karoly Nyisztor