issues
search
hsiaofung
/
note
0
stars
0
forks
source link
2020-07-18 clean code
#155
Open
hsiaofung
opened
4 years ago
hsiaofung
commented
4 years ago
將顧客的模糊想法產生一個對應的成功系統。
完整規範的需求,如果同程式碼般的正式,那麼需求規格就可以用來當作測試程式碼時的可執行測試案例。
程式碼是最終被我們用來闡述需求的語言。
不好的程式碼構成了阻礙。那為什麼會寫這樣的程式呢?
當看到一團雜亂的程式能順利進行,我們的心情也放鬆不少,認為能順利運行的雜亂程式總比什麼都沒有來的強。
雜亂程式的代價
系統每次增加或修改功能時,都需要去了解這些混亂、曲折、及打結的程式碼,然後就會有更多混亂、曲折、及打結的程式碼又被加入。等過了一段時間後,這團雜亂的程式碼變得龐大、艱深且巨高,導致程式無法被整理簡化。
當寫出這團雜亂的程式碼時,這個開發團隊的產能就會持續下降。於是就雇用新的員工,又製造出更多的混亂。
之後一個全新的設計。
態度
+為什麼修改程式碼會發生這種事? 本來只需幾小時,卻要好幾個禮拜? 本來只要修改一小行程式,卻要修改幾百個不同的模組。
為什麼優良的程式碼會快速變質成劣質的程式碼呢?
因為需求一改再改? 進度過於緊湊?愚蠢的主管?偏執的客戶? 錯不在這些事物上,而是在我們本身,我們不夠專業。
為什麼造成這團混亂是我們的錯?為什麼錯不在客戶需求? 為什麼錯不在開發進度規劃?
因為,主管和市場商人必須從我們這裡獲取他們想要的資訊,進而做出保證與承諾。
專案管理者尋求我們的協助和意見,才能排出進度表。
如果我不做主管交待的事,我會被開除
主管會用盡心力保護他們的時程和需求,因為這是他們的工作
但用同樣的心力保護程式碼,就是你的工作。
劣質程式碼有哪些風險???
如果程式設計師遵守那些不懂劣質程式碼風險的主管的意願,這些程式設計師也顯得相當不專業。
最根本的難題
爛程式降低開發效率,然而,開發者都感受過截止期限的壓力,所以只好產生一些爛程式來達到目標。
總之,沒有花時間讓開發速度變得更快。
製造了爛程式並不會因此趕上截止日期,事實上,爛程式只會讓你的開發速度變得更慢。
讓開發速度變快的唯一方法 : 隨時隨地,確保程式碼盡可能的整齊潔淨。
結論
雜亂的程式碼會是開發的一大阻礙
讓開發快速的方式就是持續保持程式碼整潔。
如何讓程式碼保持整潔?
什麼樣的程式碼才是整潔?
程式感幫助程式設計師選擇最佳的改良版本,引導程式設計師制定出一連串的改善計畫,將雜亂的模組改良。
程式感是能寫出clean code 的關鍵
程式感不僅能讓我們看出程式碼的好壞,而且還更進一步地,提供我們一套方法,可以有紀律地將爛程式碼轉為好程式碼。
想要鍛鍊程式感,需要有紀律地運用無數的小技巧,才能刻苦地習得整潔的感覺。
程式碼是最終被我們用來闡述需求的語言。
雜亂程式的代價
態度
+為什麼修改程式碼會發生這種事? 本來只需幾小時,卻要好幾個禮拜? 本來只要修改一小行程式,卻要修改幾百個不同的模組。
最根本的難題
結論