Clean Code - 為什麼要看Clean Code?

Total Productive Maintenance, TPM (全面生產維護)

在過往日本泡沫前就是依照了TPM的概念讓工廠的產能大幅領先美國,而為什麼我們要提到TPM呢?

在過往的工廠都是有訂單就趕快用土法煉鋼的方式改裝目前的產線與機器為了能產出客戶需要的產品。在這樣的情況下,整個工廠的運作機制其實已經變成渾沌狀態,因為頻繁改變的情形下當產線掛掉停擺時要花許多時間去找到原因,而日本提出了TPM的概念後將工廠變得井然有序進而超越了美國,所以才有豐田生產管理等等專們以日本企業命名的工廠管理方法出現。

而現在的軟體設計其實也是一樣的道理,軟體迭代速度越來越快,如果開發人員只顧著往前衝刺不斷地改變,如果缺乏了有效的管理以及人員的紀律,那就可能像是滾雪球一般造成雪崩也說不定。相同類型的故事也可以透過鳳凰專案這本書一窺究竟。

回歸正題,Clean Code裡面提到的概念與方法其實就是TPM中的5S原則

5S (日語)

  • Seiri (整理) - 好好地整理每個方法和class的命名,這樣才能讓每個團隊成員明確的知道問題在哪
  • Seiton (整頓) - 一段程式碼他應該出現在你所期待他出現的地方,如果不是那就是要重構了
  • Seiso (清掃) - 刪除那些根本沒意義的註解還有程式碼吧,讓程式碼們更好閱讀
  • Seiketsu (清潔) - 每天都要讓自己的工作環境標準化更清潔,讓每個成員的程式碼都用上check style吧
  • Shutsuke (身美) - 這也是最重要的一點,其實就是自律與反省,好好誠實的面對以前自己寫的程式碼吧

若是每次工作時都有好好遵從這5S原則,那未來產品業務大爆發或是要開發更前衛的功能時,你偷偷藏起來的雪球才不會造成雪崩讓產品一夕崩潰。

那接下來就會是我一系列的Clean Code文章(讀書心得),其實這本書我已經看過兩次,一次是碩士還在讀書時一次是工作第一年的時候,第一次看的時候其實可以說是完全看不懂(哈哈),內心想的都是為什麼要搞那麼麻煩?而第二次看的時候開始有感覺了,因為自己寫的程式碼也開始要接受挑戰已經被其他同事的程式碼挑戰,但是還是有些不得要領的地方,而這一次我決定要改變讀書行為,每到一個段落就記錄與分享,希望自己可以到另一個境界。

留言

這個網誌中的熱門文章

Java Lambda Map篇

(InterviewBit) System Design - Design Cache System

設計模式 - 享元模式 (Structural Patterns - Flyweight Design Pattern)