それは、私は多くの人が書かれていると信じて、おそらくあなたを除いて誰が読むことはできませんコードの文字列を、次のとおりです。
以下のための範囲内の範囲(N) のための J における範囲(M) のための K における範囲(L): temp_value =のX [i]は[J] [K] * 12.5 new_array [I] [J] [K] = temp_value + 150
図面を容易にするために、修正するために、任意のプログラムの変数と値の単純実際の意味は変数の意味が何であるかを知るために上下半日かを見つけたい人を確認するために使用することができない他の人を使用して、デバッグ素晴らしいですトラブル。
あなたのコードは、自分だけのためではないのであれば、ちょうどそう書き込まれないようにしよう、わかりやすい変数名と名前付き定数のより多くの使用は、変数の命名の良い習慣を開発するために、コードを記述します。
上記のコードの記述方法を標準変数を見てみましょう:
PIXEL_NORMALIZATION_FACTOR = 12.5 PIXEL_OFFSET_FACTOR = 150 用 ROW_INDEX における範囲(ROW_COUNT) 用 column_index における範囲(COLUMN_COUNT) 用 color_channel_index における範囲(color_channel_count): normalized_pixel_value = ( original_pixel_array [ROW_INDEX] [column_index] [color_channel_index] * PIXEL_NORMALIZATION_FACTOR ) transformed_pixel_array [ROW_INDEX] [column_index] [color_channel_index] = ( normalized_pixel_value + PIXEL_OFFSET_FACTOR )
符号量が増加するが、他の人は関係なく、あなたが理解していることがわかりませんが、どのくらいの頻度すぐに理解できるように見て、コードの最初の部分は、あなたはしばらくの間は、それをやっている理解した後で見ることができますか?
良いプログラマはコード変数の命名規則を遵守します。
- 変数名は、変数が表す情報を記述することができるはずです。
- むしろ、書き込みコードの速度よりも、コードの理解を優先する。
- グローバルな意思決定ではなく、複数のローカル決定を行うための標準的な命名規則。
だから、という名前は、2つの主な理由のための標準ではありません。
- 役に立たない/混乱/ぼやけた変数名
- 名前「魔法」の定数
要するに、この名前の変数を好きではありません。
X, y, xs, x1, x2, tp, tn, clf, reg, xi, yi
続くために3つの簡単なルールを次のようにも非常に簡単な修正するには:
- 変数/関数名:小文字、分割された中間体を下線
- 定数:大文字
- クラスカテゴリ:最初の文字を大文字、残りを小文字
具体的には、非常に多くの考慮事項があります。
- ###
X
とy
:
XとYのあなたは、その機能を知って、何百回も見ているかもしれませんが、コードを読むための他の開発者のために、それは明らかではないかもしれません。そこで、我々は、これらの変数を記述するために使用する場合があります名前は、例えば、何を表すかです:house_featuresとhouse_pricesを。
value
:
それが特定の値は何値はありますか?それはかもしれvelocity_mph
、customers_served
、efficiency
、revenue_total
。別の値を加えた最終詳細な接頭辞。
- ###
temp
:
あなたは、一時変数tempを使用することができますが言ったが、それはそれを意味のある名前をつけるのがベストです。たとえば、次のように記述し、単位の値を変換する必要があります:
#はしないでください TEMP = get_house_price_in_usd(house_sqft、house_room_count) final_valueを = TEMP * usd_to_aud_conversion_rate (小さなシリーズはPythonのデータとPDFのセットを終え、Pythonは教材を学ぶ必要があるが、グループに追加することができ、そうする#: 631 441 315、とにかくアイドルは、そのアイドル状態にありますそれは何か~~学ぶ方が良いです) house_price_in_usd = get_house_price_in_usdを(house_sqft、 house_room_count) house_price_in_aud = house_price_in_usd * usd_to_aud_conversion_rate
- ###略語:
あなたは略語変数を使用する場合は、先に略語の最高の意味のような変数名、宣言usd, aud, mph, kwh, sqft
これらを。チームのための一般的な略語の他のメンバーと一致して、それを書き留めます。次に、コードレビューに書面でこれらの基準の実施を確保します。
- ###機械学習は、特定の略語を避けるために:
例えば、使用しないようにしよう tp
、 tn
、 fp
、 fn
、これらの略語変数が、代わりにフル変数の使用:true_positives、true_negatives、false_positives、およびfalse_negatives。
エラー変数名の直接の原因につながりますか?
このエラーは、変数名を書くための重要な理由があるためここでは、2つの理由があります:
- 私たちは短い変数名を維持したいです
- コードは、以下の式に直接変換されます。
上記式によれば、通常の状況下では、直接のように記述される可能性があります。
一時= M1 * X1 +平方メートル*(×2 ** 2 )
最終 =一時+ B
これは、コンピュータが最終的にそれを実行しますが、機械のようなコードで記述されているが、人々が理解するためのより多くのを探している人の数、より良いコードを書くために:
house_price = price_per_room *部屋+ price_per_floor_squared *(床** 2 )
house_price = house_price + expected_mean_house_price
マジックナンバーを使用しないでください
一定のマジックナンバーは通常、単位変換のために使用される変数名、ではありません。しかし、このような変換コードが間違っています:
final_value = unreverted_value * 1.61 final_quantity =数量/ 60 value_with_offset =値+ 150
誰も何台が自然変数は、変換の意味を理解していない参照、1.61,60を代表理解していないので、それは例えば、変数名にこの値を変換するのが最善の方法です。
USD_TO_AUD_CONVERSION_RATE = 1.61 price_in_aud = price_in_usd * USD_TO_AUD_CONVERSION_RATE REVOLUTIONS_PER_MINUTE = 60 revolution_count = minutes_elapsed * REVOLUTIONS_PER_MINUTE
これらの詳細のいくつかは、コード内の変数名の間に注意を払う必要があります。