夜のF話-成功への鍵として良い名前

画像
すべての良い一日。

「ボートを呼び出すと、フロートします」-関数、変数、クラスに非常に適したよく知られた有名なフレーズ。

見知らぬ人を何回読んで(時には自分のコードで、悔い改め、それは自分のコードで起こった)、マッシュに対処した回数。 変数、関数、さらにはクラスを割り当てることはまったく直感的ではありません。
変数があり、名前もあるように見えますが、その目的は明確ではありません。

例えば
enum Dates{
GET_FIRST,
GET_SECOND,
GET_BOTH,
None
}



したがって、このenamがコードで何かをすると考えてください。 リストの名前から、ケースが日付に関連していることが明らかであるようです。 2つの日付がメソッドに渡される可能性があり、そのうちの1つを選択する必要があります。 または、リストの最初と2番目の特定の日付のみを考慮する必要があります。 または多分何か、多くの意見があるかもしれません。
この場合、このコードが使用される場所を探しています。
Boolean IsInRange( DateTime date1, DateTime date2, Dates pDates) {
if (pDates==Dates.GET_BOTH) {
return date1 <= myDate && myDate <= date2;
}
if (pDates==Dates.GET_FIRST) {
return date1 <= myDate && myDate < date2;
}
if (pDates==Dates.GET_SECOND) {
return date1 < myDate && myDate <= date2;
}
return date1 < myDate && myDate < date2;
}



そして、エナムが左右の境界を考慮するかどうかを決定することを理解することができます。
しかし、オブジェクトの意味を理解するために、それが使用されているコードを詳しく調べ始めると、名前には目的の本質が反映されません。 これは悪い名前です。
それはよりシンプルと呼ぶことができます:

enum DateIntervals{
Open,
Closed,
OpenLeft,
OpenRight
}


この場合、エナムを使用する場所を探してコードを登る必要はほとんどありません-彼の名前はすでに彼の性質を語っています。

コメント
コメントは、名前が本質を反映していないことを示しています。 ほとんどの場合、適切なコメントではなく、関数の名前を反映する必要があります。
私はクレイジーで、すべてにコメントを書き、すべてが怠けていたのを覚えていますが、試しました。 それが明らかだった場所でさえ。 しかし、ほとんどの場合、それは有用ではありませんでしたが、ええと、hemo –ああそう。 だから、良い名前を書く-それは本当に時間を節約します。 完璧に制限はありません。 「ここにある」と言うまで、5回名前を変更することがあります。

音声名。

これらの名前の発音はそれほど熱くありません。 しかし、本質とさらにそう。 ミドルネームはGetUaiUaiUaiUaiと発音できます。 「音、神、なぜ、まあ、なぜ...」
また、同僚が特定の操作を担当する機能を尋ねた場合、発音は完全に明確ではなく、最終的にどのように書かれているのかも完全に明確ではありません。

プレフィックス
強力な開発環境がない場合(すべてが比較的有限)、プレフィックスが採用されました。

先頭の変数名には、特定のデータ型に対応し、小文字で記述されたプレフィックスが含まれている必要があります。 名前自体は大文字で始まります。
プレフィックスデータ型
  • 配列(配列)
  • b BOOLブール整数(1バイト)
  • BYTE符号なし整数
  • c文字(1バイト)
  • Cクラス
  • d倍精度数(double)
  • ....
今でも、これは起こっています。 これにdulしないでください。 接頭辞をドラッグするのではなく、論理的に変数に名前を付けます。

名前の長さは?
変数使用ブロックが3行に制限されている場合、変数にfirstIndexInUserCollectionという名前を付けることはほとんど意味がありません。 名前の長さは、ブロックの長さに直接比例します。 ブロックが大きいほど、名前が大きくなります。

関数名
原則として、パブリック関数には短い簡潔な名前を付ける必要があります(もちろん理想的です)。 そうでない場合、外部からの各アピールは非常に重くなります。 逆に、閉じた関数には、その目的の目的を説明する長い名前を付けることができます。

要約すると:


ハッピーコディング。

Source: https://habr.com/ru/post/J142146/


All Articles