iT邦幫忙

鐵人檔案

2022 iThome 鐵人賽
回列表
Software Development

重新開始學程式,【無瑕的程式碼:敏捷軟體開發技巧守則】共讀 系列

前端有句老話:「每 18 至 24 個月,前端都會難一倍。」

三大框架仍在鏖戰不休,版本更迭迅速,與此同時,一顆Svelte新星已冉冉升起,好想學!
Stackoverflow 2021工程師調查,JavaScript 盤據熱門榜首之時,TypeScript 也已在社群廣泛發酵,必須學!
Android 與 iOS分庭抗禮,跨平台 Flutter 腳踏兩條船,也要學!

日新月異的技術學不完,前兩年熱門的東西也許今天已然式微,
到底程式該學些什麼?有什麼東西不會過時?
這一次,我想緩一緩追逐技術的焦慮感,讀一本經典好書,
重新認識一次,到底程式是什麼?我又該怎麼學程式?

鐵人鍊成 | 共 30 篇文章 | 21 人訂閱 訂閱系列文 RSS系列文 團隊猴猴沒
DAY 21

異味(二)

函式 關於函式的撰寫原則,我們過去花了三天來學習,對於避免過多參數以及旗標參數的概念,這邊就不再多提。但在分享參數的文章,開頭有一個概念只簡單的帶過,就是:避免...

2022-10-06 ‧ 由 Joseph 分享
DAY 22

異味(三)

重複的程式碼 說實話,關於這個規範已經提了太多次,只是作者認為,這個規範是書中最重要的規範之一,所以我們就再複習一下。 避免重複,就是避免犯錯並提高撰寫程式的速...

2022-10-07 ‧ 由 Joseph 分享
DAY 23

異味(四):錯誤的位置或意圖、魔術數字

不正確的位置或意圖 不相依的程式,就不該被人為的耦合。例如一般普通的 enums,不該被包含在特定類別內。因為這會導致整個程式,都被迫知道這個特定類別。同樣的,...

2022-10-08 ‧ 由 Joseph 分享
DAY 24

異味(五):缺乏解釋性的變數、不精確

缺乏解釋性的變數 我知道我已經提過太多次變數名稱要具有表達性────雖然那其實不是我提的而是作者────但我這裡要說的,不是指這件事。 讓程式可讀性提昇的最有...

2022-10-09 ‧ 由 Joseph 分享
DAY 25

異味(六):條件式判斷、時序耦合

條件判斷 在條件判斷中的規範,較常聽見的便是盡量避免否定條件,因為肯定句式會比否定句式更容易理解且直觀。也就是說: if(employees.isEmpty()...

2022-10-10 ‧ 由 Joseph 分享
DAY 26

異味(七):傳遞性導覽、違背慣例

傳遞性導覽 這個原則又稱作「迪米特法則」(Law of Demeter) 或 「撰寫出害羞的程式碼」(Writing Shy Code)。 通常,我們不希望讓...

2022-10-11 ‧ 由 Joseph 分享
DAY 27

異味(八):命名篇

命名篇 不具描述性質的名稱 我們都已經知道,一個良好的命名必須帶有意義,但要注意的是,程式會在需求中演化,而修改內容所包含的名稱,也應該隨之修正。最終,我們...

2022-10-12 ‧ 由 Joseph 分享
DAY 28

異味(九):測試篇

測試篇 不要跳過簡單的測試,他們是如此容易撰寫,相較於針對程式的說明價值,所花費的撰寫成本相當便宜。事實上,作者認為足夠的測試,是所有條件或計算都被驗證過,只要...

2022-10-13 ‧ 由 Joseph 分享
DAY 29

異味(十):細節補充

細節補充 一、邊界條件 在過去幾天,我在文章中曾不只一次提到過邊界條件,第一次我只概略地說,我認為那是極端條件。雖然這個解釋不能算錯,然而隨著持續閱讀書中內容,...

2022-10-14 ‧ 由 Joseph 分享
DAY 30

總結

總結 過去的 29 天,我們認識了整潔程式所包含的要素: 測試程式 具明確表達意圖的程式碼 注重細節 測試程式給予產品程式一層保護,使程式設計師能夠放膽地對...

2022-10-15 ‧ 由 Joseph 分享