前端有句老話:「每 18 至 24 個月,前端都會難一倍。」
三大框架仍在鏖戰不休,版本更迭迅速,與此同時,一顆Svelte新星已冉冉升起,好想學!
Stackoverflow 2021工程師調查,JavaScript 盤據熱門榜首之時,TypeScript 也已在社群廣泛發酵,必須學!
Android 與 iOS分庭抗禮,跨平台 Flutter 腳踏兩條船,也要學!
日新月異的技術學不完,前兩年熱門的東西也許今天已然式微,
到底程式該學些什麼?有什麼東西不會過時?
這一次,我想緩一緩追逐技術的焦慮感,讀一本經典好書,
重新認識一次,到底程式是什麼?我又該怎麼學程式?
函式 關於函式的撰寫原則,我們過去花了三天來學習,對於避免過多參數以及旗標參數的概念,這邊就不再多提。但在分享參數的文章,開頭有一個概念只簡單的帶過,就是:避免...
重複的程式碼 說實話,關於這個規範已經提了太多次,只是作者認為,這個規範是書中最重要的規範之一,所以我們就再複習一下。 避免重複,就是避免犯錯並提高撰寫程式的速...
不正確的位置或意圖 不相依的程式,就不該被人為的耦合。例如一般普通的 enums,不該被包含在特定類別內。因為這會導致整個程式,都被迫知道這個特定類別。同樣的,...
缺乏解釋性的變數 我知道我已經提過太多次變數名稱要具有表達性────雖然那其實不是我提的而是作者────但我這裡要說的,不是指這件事。 讓程式可讀性提昇的最有...
條件判斷 在條件判斷中的規範,較常聽見的便是盡量避免否定條件,因為肯定句式會比否定句式更容易理解且直觀。也就是說: if(employees.isEmpty()...
傳遞性導覽 這個原則又稱作「迪米特法則」(Law of Demeter) 或 「撰寫出害羞的程式碼」(Writing Shy Code)。 通常,我們不希望讓...
命名篇 不具描述性質的名稱 我們都已經知道,一個良好的命名必須帶有意義,但要注意的是,程式會在需求中演化,而修改內容所包含的名稱,也應該隨之修正。最終,我們...
測試篇 不要跳過簡單的測試,他們是如此容易撰寫,相較於針對程式的說明價值,所花費的撰寫成本相當便宜。事實上,作者認為足夠的測試,是所有條件或計算都被驗證過,只要...
細節補充 一、邊界條件 在過去幾天,我在文章中曾不只一次提到過邊界條件,第一次我只概略地說,我認為那是極端條件。雖然這個解釋不能算錯,然而隨著持續閱讀書中內容,...