前言
目前手邊工作上,與其說是開發新功能,大多時候比較常是優化原有的功能,順便修正以前留下來的bug,因此解讀前人的程式碼、留不留註解、如何讓程式寫的更"乾淨"一點等常見的問題一件一件浮上檯面。
說是這麼說,最根本的出發點其實只是因為我比較"懶",太多類似的業務邏輯其實只是換個名子,一個一個實作出來實在有點像是土法煉鋼。畢竟,軟體設計終究得思考一件事--程式碼的重用性。
這篇只有對演講的其中一部份摘要記錄,再加上自己的心得,不會著重clean code一書中歸納出的一些規則,如SOLID。
為什麼要寫乾淨的程式碼?
從反面來看,寫的雜亂的程式碼光是要看懂就耗費很大的心力,更不用說還要修改、加上新功能。
這部分最直接影響的就是程式的可讀性,而達成可讀性提升的方法來自於良好的命名:包含給予變數、函數一個可以清楚描述自己本身的一個名子。
每個函數要盡可能小,小到一次只做一件事。
客觀的"一件事"可以透過IDE提取方法將函式(方法)抽出來,直到不能再抽出來為止。
以下為原文做重點式摘錄
why clean code?
- Why are programmers so slow?
- fast leads the mess
- mess slows down the productivity
- add more people
- old code trains the new people
- desire to go fast makes the mess
- once the code works, it would be the mess, so clean it!
The only way to go fast is to go well.
- Your job is to write the code that other people can maintain and reuse.
- construct well written prose from the names of the variables and functions
- make functions smaller
- function are extracted until it cannot be extracted
- semantic function tree follow by name
- return a value will not change the state in convention. No side effect.
看完後的延伸方向
- Functional Programming
- Object Oriented Programming
- Design Pattern
- Test Driven Development
- Refactoring