昨天提到關於「DRY 原則」(Don't Repeat Yourself),要避免重複程式碼。但是有一個看似矛盾的觀念叫做「Write Everything T...
平常在撰寫程式碼,常常看到有類似的需求,這時候我們該怎麼做?不斷的複製和貼上,我開玩笑的,當然不是,這樣的作法會讓程式碼變得難以維護,因此有一個原則叫做DRY...
消除你程式碼的臭味 Day 30- 總結:從好品味到好架構的終極實踐清單 提升程式碼的品質,就像培養品味一樣,不是與生俱來的天賦,而是透過一次又一次正確的取捨...
消除你程式碼的臭味 Day 28 - 重構:看見味道就動手 重構不是一定要大改特改,要你把整個架構打掉重練,而是小步小步且精確的日常整理。 也別為了重構而重構...
消除你程式碼的臭味 Day 25- 資源管理:打開的東西就要關掉 打開的東西,就要關掉。這次我講個故事。 假設去圖書館借了全世界只有一本的書。圖書館員(就是作...
消除你程式碼的臭味 Day 24- 錯誤處理:別讓程式崩潰 錯誤不是你的敵人,忽略它才是。 程式碼在實際情況裡運行,就一定會出錯。網路會斷、硬碟會滿、使用者會...
消除你程式碼的臭味 Day 23- 空值處理:別回傳 null,用更安全的回應 Tony Hoare,null 的發明者,稱它為「十億美元的錯誤」。null...
消除你程式碼的臭味 Day 21- 註解:讓程式碼自己說話 好的程式碼不需要註解,因為程式碼本身就能被讀懂。 程式碼本身,才是唯一的、絕對的事實來源。註解不是...
別讓三個月後的你,痛恨現在的自己:重讀《Clean Code》 程式碼的終極目標:Clean Code 無瑕的程式碼 請問各位工程師夥伴,有沒有接過維護案呢?...
消除你程式碼的臭味 Day 20- 依賴注入:鬆開那個耦合 你的類別還在自己 new 東西嗎?當一個類別手動自己建立它所依賴的物件時,它就像一個什麼都要自己來...
消除你程式碼的臭味 Day 19- 參數:少即是多,避免傳布林參數 參數越多,理解成本越高。問個簡單的問題:當你看到一行程式碼 createUser('Bob...
消除你程式碼的臭味 Day 18- 狀態管理:用資料定義流程 狀態機不該是 if/else 的迷宮,它的本質是一張規則流程表。 把轉移規則寫成表,讀表執行就...
消除你程式碼的臭味 Day 17- 分離關注點:設定與主要邏輯分開 把變動頻繁的設定從穩定的主要邏輯裡拿出去。 你的核心商業邏輯,應該像一個在無菌室裡工作的科...
消除你程式碼的臭味 Day 15- 組合優於繼承:用小能力組出行為 物件導向的繼承理論,源自於生物學家林奈的分類法。界、門、綱、目、科、屬、種。Dog is-...
消除你程式碼的臭味 Day 14- 複雜判斷:抽到具名函式裡 布林表達式越長,越應該被命名。程式碼是寫給人看的,只是順便能讓電腦執行而已。 當你寫下一長串充滿...
消除你程式碼的臭味 Day 13- 魔術數字:用具備語義的常數取代 數字本身不會說話,名稱會。 在程式碼裡看到一個像 86400 或 0.05 這樣的數字,看...
消除你程式碼的臭味 Day 12- 拒絕複製貼上:抽出共用邏輯 重複不是省事,是技術債。 在第二個地方貼上相似度 90% 以上程式碼時,就創造了一個混亂區。...
消除你程式碼的臭味 Day 11- 函式的副作用:把計算與 I/O 分離 一個函式應該只做一件事,並且做好它。 如果你的函式既要處理計算,又要跟外部世界(螢幕...
消除你程式碼的臭味 Day 10- 介面最小化:只暴露必要的東西 介面越小,被誤用的空間越小,維護成本越低。公開的每個函式,都是欠下的一筆債 介面是你經過深...
消除你程式碼的臭味 Day 9- 迴圈最佳化:把邊界判斷和特殊處理移到外面 一個迴圈的本質工作,就是對一系列相似的東西做同樣一件事情。 當你在迴圈裡面塞滿了邊...
消除你程式碼的臭味 Day 7- 資料結構至上:好程式碼的關鍵思考 搞錯了資料結構,寫的就不是程式碼,是日後要爆炸的地雷。 Bad programmers...
消除你程式碼的臭味 Day 1- 好命名:必須精準傳達意圖 你的命名必須準確傳達意圖,不能讓人猜程式碼是寫給人看的,不是給機器看的。如果需要花時間去猜一個變...
以下是讀完 Clean code 第三章節(part 2)的筆記: Have No Side Effects 有些函數是有破壞性 有時將某類別的狀態作非預期...
以下是讀完 Clean code 第三章節(part 1)的筆記: 先以FitNesse的一段3-1程式碼講解, 問我們能看懂多少? public stat...
以下是讀完 Clean code 第二章節(part 2)的筆記: Avoid Mental Mapping 一般做單字母會用在for迴圈, 比如i j k...
以下是讀完 Clean code 第二章節(part 1)的筆記: Introduction 從函數、變數、到部署檔案都是命名 Use Intention-...
以下是讀完Clean code第12章節 Emergence的筆記: Getting Clean via Emergent Design 根據Kent Bec...
本篇是閱讀Robert C. Martin的偉大書籍 - Clean Code的第一章筆記 There Will Be Code 不管現在由AI產出的程式碼,...
來到 30 天系列文章的中半段,接下來將以 code review 為主軸,透過範例說明實作 code review 的方法。在介紹 code review 之...
文章同步於blog 前言 第三天就要來個硬的 這次將要介紹Clean Code 之後會依序介紹Clean Coder以及Clean Architecture C...