第 1 章 整潔代碼
5S 哲學包括以下概念:
- 整理( Seiri ),或謂組織。搞清楚事物之所在-通過恰當地命名之類的手段-至關重要。
- 整頓( Seiton ),或謂整齊。物盡有其位,而後物盡歸其位。
- 清楚( Seiso ),或謂清潔。
- 清潔( Seiketsu ),或謂標準化。
- 身美( Shitsuke ),或謂紀律(自律)。在實踐中貫徹規程,並時時體現於個人工作上,而且要樂於改進。
建議:閱讀代碼-大量的代碼。而且要去琢磨某段代碼好在什麼地方、壞在什麼地方。
草帽星系( The Sombrero Galaxy )。 M104 坐落於處女座( Virgo ),距地球僅 3000 萬光年。其核心是一個質量超大的黑洞,有 100 萬個太陽那麼重。
1.1 要有代碼
代碼不可能被拋棄。
1.2 糟糕的代碼
勒布朗( LeBlanc )法則:稍後等於永不( Later equals nver )。
1.3 混亂的代價
隨着時間的推進,糟糕的代碼會將團隊的生產力降爲0。
1.3.1 華麗新設計
花時間保持代碼整潔不但有關效率,還有關生存。
1.3.2 態度
程序員遵從不瞭解混亂風險的錦鯉的意願,也是不專業的做法。
1.3.3 迷題
製造混亂無助於趕上期限。混亂只會立刻拖慢你,叫你錯過期限。趕上期限的唯一方法-做得快的唯一方法-就是始終儘可能保持代碼整潔。
1.3.4 整潔代碼的藝術
編寫整潔代碼的程序員就像是藝術家,他能用一系列變換把一塊白板變作由優雅代碼構成的系統。
1.3.5 什麼是整潔代碼
整潔的代碼力求集中。每個函數、每個類和每個模塊都全神貫注於一事,完全不受四周細節的干擾和污染。
1.4 思想流派
1.5 我們是作者
不讀周邊代碼的話就無法寫代碼。編寫代碼的難度,取決於讀周邊代碼的難度。要想幹得快,要想早點做完,要想輕鬆寫代碼,先讓代碼易讀吧。
1.6 童子軍軍規
1.7 前傳與原則
前傳:《敏捷軟件開發:原則、模式和實踐》(Agile Software Development:Principles,Patterns,and Practices)。
單一權責原則(Single Responsibility Principle,SRP)
開放閉合原則(Open Closed Principle,OCP)
依賴倒置原則(Dependency Inversion Principle,DIP)
1.8 小結
多練習。