2019年12月2日 星期一

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

Chapter 3 - 函式 - 1

首要準則 - 簡短!!


    即使現今編輯器能讓你在一行塞入 150 個英文字母,現今螢幕能讓你顯示 100 行,你也不該塞好塞滿。越短越好,3 ~ 4 行,每個函式都透漏著本身的意圖且帶領著你至下個函式。
    區塊 ( Blocks ) 和縮排 ( Indenting )
    If、else、while 都應該只有 1 行,而那行通常會是個命名不錯的函式。

只做一件事


    只做一件事很難下定義,以下提出兩種
  1. 透過觀察函式中進而提煉出一個新的函式來
  2. 函式裡有明顯的段落 ( 宣告區、初始區、過濾區... )

只有一層抽象概念


    為了確保只做一件事,就必須確保函式裡都是同一層次的概念。
  • getHtml()      - 高層次
  • parsePath()    - 中層次
  • .append("\n")  - 低層次
    降階準則
    閱讀程式碼通常都是由上而下,所以層次也該從上到下

Switch 敘述


    switch 要簡短很困難且很容易跟上述規則牴觸,作者這裡是利用 Polymorphism ( 多型 ) 將 switch 壓到低的層次且不會被重複利用。

Related Posts:

  • 讀書心得 - 大腦衝浪 - 第二十三講第二十三講 障礙預報 我想睡眠是最大的障礙預報,曾設過鬧鐘規定時間去睡覺但一點效都沒,我的潛意識裡認為晚上10點還早,但其實過了 10 才在做一天收尾已經算晚了,所以設定晚上 9:30。 但懶惰的狀況總是發生,我想要折衷,出發是必須即使只有 1 %的 CP 值,因為 1 > 0,1 還可以累加。… Read More
  • 讀書心得 - 大腦衝浪 - 第二十七講第二十七講 發覺自己的優勢 做了書中的心理測驗,自以為的性格還在前段,但第一項跟第二項優勢特質還真的沒想到,因為壓根不覺得是優勢。 第一個優勢 - 欣賞美麗與卓越 看不出來有啥優勢,連利用都不行。只能讓自己開心,取樂自己我真的一把罩。 第二個優勢 - 寬恕與慈悲 這更慘,我覺得我最常寬恕的是自己,導致現在這種廢材樣。 常認為自己需要壓力逼迫自己努力上進,看這兩優勢我看是沒緣了。大概就是現實肥宅,精神高富帥。一輩子不會自殺,不會難… Read More
  • 讀書心得 - 大腦衝浪 - 第二十一講第二十一講 正向幻想 我想應該是像叔叔一樣的生活吧,靠著投資為主本業為輔的生活,我想當個打打程式且不被薪水跟進度摧殘的程式設計師,百分之百的享受寫程式帶來的成就感而不因是主要收入來源而討厭。 想著清晨  6:30 起床,吃著早餐看本書到 7:30,運動到 9:00 並回家洗澡,10:00上班 ~ 17:00 下班吃飯,參加著某個社團活動到 21:00 回家,23:00 就寢。 六日在家的話,同樣行程到 10:00 便睡到中午吃中… Read More
  • 讀書心得 - 大腦衝浪 - 第十三講第十三講 尤利西斯合約 尤利西斯在打贏特洛伊戰爭後,在返鄉的路上發現自己會經過 Siren 海妖的地盤,傳說海妖幽美的歌聲會迷惑水手,並讓其自行觸礁沈船。尤利西斯很想聽看看那歌聲,所以命令水手把他綁在甲板的桅杆上,並讓自己的手下用蠟堵住耳朵,拼命划不要理他的叫喊。 我想簽下未來的強制合約似乎有點用,目前最想改的是起床划手機的惡習。… Read More
  • 讀書心得 - 大腦衝浪 - 第十六講 第十六講 對的時間,做對的事 說實在這很難,我通常晚上狀態最好,所以沉住氣不要回家通常都會很充實。但到了家發現耍廢的時間不夠,影響到睡眠 => 隔天 => 早上 => 晚上又好了... 我想要先拓展對的時間,所以還是制定個早睡早起的習慣… Read More

0 意見:

張貼留言

Popular Posts