2019年12月3日 星期二

讀書心得 - Clean Code - Chapter 3 (2)

Chapter 3 - 函式 - 2

使用具描述能力的名稱


    不要害怕名字過長,若取了有性質的函式名稱就較能符合「當每個你看到的函式,執行結果都與你想的差不多代表為 Clean Code」

函式的參數


    函式的參數越少越好,因為參數的存在也會影響著你對函式的預期,所以最理想的情況為 0 參數。
    一個參數
  1. 與這個參數有關的問題  - boolean fileExits("Myfile")
  2. 對這個參數做某種操作,然後回傳 - InputStream fileOpen("Myfile")
  3. 事件,利用參數去修改系統狀態 - passwordAttemptFailedNtimes(int attempts)
    第三種命名要特別小心,要明確的表示出此函式為事件。若參數為 flag 那你要知道此為很爛的作法,flag 就代表 True 要做一件事,False 要做一件事,違反了只做一件事的原則。
    兩 ~ 三個參數
    兩個參數影響函式的預期就更多,所以可以轉成一個參數就好好利用。
    物件型態的參數、參數串列
    利用物件型態或陣列去減少參數個數是不錯的方法
    Circle makeCircle(double x, double y, double radius);
    Circle makeCircle(point center, double radius);

指令和查詢的分離


    如果函式除了做某件事情後,還回傳了某個問題的答案,就等於做兩件事
    public boolean set(String attribute, String value);
    if(set("username", "unclebob"))...
    所以讀者看到此段 if 會容易產生誤解且疑惑,所以要將查詢與指令分開
    if(attributeExists("username")){
        setAttribute("username", "unclebob");
        ...
    }
    利用例外處理取代回傳錯誤碼
    錯誤處理本身就是一件事

Don't Repeat Yourself


   n 個重複的程式碼,代表修改要花 n 倍時間。

上一篇:
讀書心得 - Clean Code - Chapter 3 (1)
下一篇:
讀書心得 - Clean Code - Chapter 4

Related Posts:

  • 讀書心得 - 大腦衝浪 - 第二十八講 第二十八講 接受自己的優勢性格 欣賞美麗比較像我的嚮往,暗戀的對象也有欣賞美麗能力,被欣賞是很幸福的。欣賞美麗者的世界似乎比原本世界擁有的色彩還要豐富。欣賞美麗者擁有像小孩一樣的清澈眼神,Precious ,這或許也是讓我喜歡上的理由,想要被欣賞想要人生色彩豐富。 寬恕比較像我會設身處地去思考,只要對方有羞恥心,通常會比責罵來得好。比較像我擁有的技巧,但我的耐心不足,接觸久的反而不怎麼原諒。 判斷力,其實我一直知道做什麼是好的。只要跟著… Read More
  • 讀書心得 - Clean Code - Chapter 4 Chapter 4 - 註解 不要替糟糕的程式碼寫註解 - 重寫它     註解為必要之惡,用來彌補我們用程式碼表達意圖失敗的狀況。註解在絕大多數的情況無法跟著程式演進,導致過時且偏離當初的程式碼解釋。最後的真相只會存於程式碼。 有益的註解     法律型的註解 // Copyright 2011-2019 The Bootstrap Authors // Copyright … Read More
  • 讀書心得 - Clean Code - Chapter 2 Chapter 2 - 有意義的命名 使之名符其實      選一個好的名稱很花時間,但省下的時間更多。 // 沒命名 public List<int[]> getThem(){ List<int[]> list1 = new ArrayList<int[]>(); for (int[] x : theList) … Read More
  • 讀書心得 - Clean Code - Chapter 5 Chapter 5 - 編排 報紙的啟發     希望原始檔要跟報紙一樣,從上而下閱讀。上方會有頭條的敘述,讓你理解這段報導在談論些什麼,讓你可以決定如何閱讀。第一段通常會是整篇報導的概要,細節資訊會被隱藏。然後你在持續往下閱讀才會發現所有細節。     然後報紙本身也不會太長,所以原始檔盡量維持最多 200 ~ 500 行。     垂直空白區隔    … Read More
  • 讀書心得 - Clean Code - Chapter 1 Chapter 1 - 無暇程式碼 讓開發速度變快唯一方法      寫爛程式碼去趕截止日期並不會加快開發,只會越來越慢。唯一方法就是隨時隨地使程式碼保持潔淨。想說寫爛程式碼先應急後來再回頭改的,勒布朗克法則 ( LeBlanc's law ) : 待會兒等於永不。( 深感認同... ) 大師們的 Clean Code 優雅又有效率,邏輯直接了當,程式相依性低  &… Read More

0 意見:

張貼留言

Popular Posts