2013年8月17日 星期六

Clean Code 讀後感想

重點如下:

1. Clean Code 追求的層次與境界比 Coding Rule 和 Coding Style 高,特別是程式碼的可讀性與易理解性,所以有講到程式碼的整體結構與佈局。

2. PG 的英文一定要很好,因為在這個指導原則下,寫 code 其實就好像是在用英文寫文章了(語境、語法、格式、段落、措辭、編排...等等都要考慮到)。

3. 要懂什麼是 S.O.L.I.D 五大原則,也要知道一些 Design Patterns(所以你應該也已經懂 UML 了)。

4. 也要懂 Refactoring、TDD、AOP...等等概念,所以建議搭配 Kent Beck 和 Martin Fowler 和其他一些大師的理念一起服用,效果會更佳。

5. 本書的舉例和引用都是 Java,所以比較適合 Java Programmer 閱讀,其他語言未必完全適用(除了像一些通則以外,如命名、註解、編排...等)。

6. 這本書至少要看過兩次以上,也要不停地練習、自我檢討才能內化為直覺反應。(也可能是我資質比較駑鈍吧,呵⋯)

以上都只是「專業知識技能」的部分,基本上還可以籍由後天的培訓來補足。這樣才可以說「慬」Clean Code。

但是真正要「做到」Clean Code,我覺得主要還是取決於個人的道德良知與自我嚴格要求,而這部分會比較偏人格特質的方面(沒錯,最好是有潔癖)。

若要 enforce 至公司內部 PG 團隊,則團隊裡的每個人都必須符合上述條件。否則,總是有人會一再地把 code 弄髒。此外,平時彼此之間要互相監督、提醒才行。

那如果要 enforce 至外包 PG 團隊呢?我覺得這就滿困難的了。因為在這種情況下,公司不太可能會對外包人員施以教育訓練,也無從了解其人格特質。

若公司派一個具備 Clean Code 能力的人全時間去督導呢?這不僅不符合成本效益,也是比較消極被動的控管方式。況且業界的驗收標準也尚未有所謂的 Clean Code 標準可茲依循遵守。

(外包:我不是只要功能、效能、資安都達到要求就好了嗎?怎麼現在還要要求我寫的 Code 是夠 Clean 呀!?)

沒有留言:

張貼留言