メソッド名または変数名が長すぎますか?[閉まっている]


15

だから、私は現在コーディングの最中でしたが、残念なことに、私は「ゾーン」にいて、自分のメソッド/変数名は長いと思いましたか?

私は行くゾーンからポップ

だから私は尋ねるためにここに来ました、私のメソッド/変数名は長すぎますか?あなたが裁判官です!ボーナスは、筆者が書いているものを理解できる人を指しますが、第一人者はすぐにそれを理解するでしょう!

とにかく、ここに私のメソッドと変数名の一部があります。

メソッド:searchBlockedListForBlockedSquares()、isCurrentSquareNextToAtLeastOneBlockedSquare()、searchBlockedListForBlockedSquares()

変数:isNextToBlockedSquares;

長すぎると思われる変数は1つだけだったと思います。


回答:


31

あなたの名前は長さの点で私には大丈夫のようです。しかし、それらの名前の付け方は、いくつかの新しいクラスが整然としていることを示唆していますか?

たとえば、代わりにsearchBlockedListForBlockedSquares()を持つことができますblockedList.getBlockedSquares()。同様に、にisCurrentSquareNextToAtLeastOneBlockedSquare()なりcurrentSquare.isAdjacentToABlockedSquare()ます。


私が探していた言葉は隣接していた!ありがとう=)
ブライアンハリントン

@ブライアン:どういたしまして。:)
アダムリア

11

長い変数名を意味する場合でも、説明的な変数名を信じています。そして、インテリセンスの人気が高まるにつれて、生産性の面で大きな影響を与えるとは思いません。

略語は、一貫して使用することはほぼ不可能であるため、嫌いです。さらに、それらはあいまいになる可能性があり、物事を読みにくくします。標準の一部であっても、私はそれらが好きではありません。加えて、それは結局のところ、あなたがたくさん省略しない限り、彼らはそれほど多くの文字を削除しません。そして、多くの短縮は読みやすさを損ないます。

しかし、長い名前がもたらす最大の問題は、コードの行がどれだけ長くなるかです。長い名前で関数を呼び出して、2つまたは3つの長い変数名を渡すと、1行の長いコードを作成できます。そのため、名前をできるだけ短くするようにしていますが、行の折り返しやスクロールを意味する場合でも、わかりやすい名前を付けます。

例の名前を見ると、すべてがBlockedSquaresで終わっているという事実から、名前の一部は冗長であると思われます。実際、これらのアイテムは、おそらくBlockedSquaresという名前の独自のクラスにカプセル化できることも意味します。この変更により、名前がかなり短くなります。


5

変数名は、その目的を明確に説明していない場合、間違った長さです。それは短すぎるか長すぎることに適用されます。

短くて簡潔な変数名は曖昧であるか、さらに悪いことに、変数とは関係がありません。通訳BASICの時代、私たちは通訳によって2つのキャラクター名に制限されていました。大きなプログラムで意味のある名前を見つけるのは非常に困難でした。1文字の変数名は、forループやカウンターによく使用されますが、そうでない場合は避けるべきだと思います。for (i = 0; i < 10; i++) {...}使用しi、それはかなり一般的です。j二次変数名です。

長い変数名は、長すぎる場合や空の単語でいっぱいになると長すぎて、必要以上に長くなります。同じような名前の変数がたくさんある場合は、不要な共通部分を削除し、名前の一意の識別部分を保持しようとします。

Rubyで実行していた場合、「isCurrentSquareNextToAtLeastOneBlockedSquare」と名前を付けcurrentSquareNextToBlockedSquare?ていました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.