英文原文:Principle of least coding,翻譯:iteye
本文作者是一位資深軟體工程師,他根據多年的程式設計經驗,把自己的觀點組織整理成本文,希望能給大家一點啟發。
“最少編碼原則”並不是說寫的程式碼少到令意思表達不清楚。其實在很多情況下,可以只寫幾行程式碼就能執行相同的邏輯,但這對於後來接手的開發者來說是非常棘手的。最少編碼不只是寫最少量的程式碼,還意味著優雅的程式碼。如果你是有經驗的程式設計師,可能就會明白我將要說什麼了。本文的目的是嘗試著去闡述清楚這個原則,雖然程式設計師們都聽過都瞭解該原則,卻很少能在每天的工作中將其運用起來。
最少編碼指的是程式碼不僅僅全面解決了問題,而且除了執行能夠準確地解決問題的邏輯行,沒有其他多餘的行。程式碼要儘可能普通,簡單的程式碼也是優雅的程式碼,程式設計師看到這樣的程式碼會感到愉悅。
最少編碼和設計良好的解決方案之間有著密切的關係,優秀的解決方案可以大大減少程式碼量。使用組態程式碼(不同功能的程式碼可以很容易地組合)以及減低程式碼行或邏輯之間的耦合度,就是很好的程式碼設計例子,同時也符合最少編碼原則。
將一段程式碼轉換成最少程式碼就是我們通常所說的重構,重構可以刪掉多餘的不必要的部分,精簡程式碼。
大量的程式碼需要執行大量的邏輯,很容易造成 bug。沒有寫出來的程式碼才沒有 bug,只要在編輯器中輸入了字元,那麼 bug 也可能潛伏在其中。重點是,如果程式碼不是特別繁瑣,那麼潛在的 bug 也會相應減少,最少編碼原則可以將出現 bug 的可能性降到最低。
如何寫出最少程式碼?通常在寫程式碼前要進行程式碼設計,而不是一來就開始敲程式碼,這是毋庸置疑的。簡單的、通用的邏輯能減少程式碼量。對第一稿程式碼運用程式碼重構可以使程式碼簡練,將最終版本轉化為優雅的解決方案等,這都遵循了最少編碼的原則。其實反覆思考以及不斷運用最少編碼原則能夠使任何垃圾程式碼變得優雅。