『コードクリーンアップの道』:クリーンコード&有意義なネーミング

1280 ワード

第一章クリーンコード
第1章は主にクリーンコードの重要性と悪いコードがもたらした巨大な面倒を書いて、何人かの大物はクリーンコードに対する認識と解釈を話して、私は読んでから深く体得していません.私は何も書いたことがないので、クリーンコードと混乱したコードの違いを体得できません.
第二章有意義な命名
この章を読んだとき、私は少し体得しました.前にアルゴリズムの問題を書いたとき、完全に名前が見えませんでした.a,b,c,d,a 1,a 2,a 3.......混乱して、作者は命名する時以下のいくつかの原則を提出しました
1名実ともに
この変数の名前を見ると、この変数がなぜ存在するのか、何をするのか、どのように使うべきかがわかります.注釈を補足する必要がある場合は、名実ともに次のようなものではありません.
int d; //     ,   

int elapsedTimeInDays;
int daySinceCreation;
int daysSinceModification;
int fileAgeInDays;

次の4つは明らかによく、この変数の意味をはっきりと表現していますが、英語の基礎に対する要求は高いです(これらの単語は私はつづりません)
2誤導を避ける
  • キーワードと競合する名前は使用しないでください.
  • 2 2 2つの変数の名前をあまり似てはいけない.

  • 3有意義な区分をする
    くだらない話は余計で、例えば変数名にVariableという言葉が出ないようにします.Name StringはNameに変更すべきで、Nameの腕はStringです.
    getActiveAccount();
    getActiveAccounts();
    getActiveAccountInfo();
    
    

    以上の3つの関数の名前にはまったく違いはありませんが、呼び出すときにどの関数を呼び出すべきかどうやって知ることができますか?
    4読み出された名前を使う
    5検索可能な名前の使用
    WORK_DAYS_PER_WEEKは5よりずっと探しやすいです.
    6符号化の使用を避ける
    7思考マッピングの回避
    8クラス名
    クラス名とオブジェクト名は名詞または名詞フレーズであるべきである
    9方法名
    方法名は動詞または動詞のフレーズであるべきである
    10概念ごとに1つの語に対応する
    11双関語を使うな
    12ソリューション分野名の使用
    13設定された問題領域からの名前の使用
    14意味のある文脈を追加
    15無駄な文脈を追加しない
     
    名前をつけるのが一番難しいのは、良い説明技術と共有文化背景が必要だということです.