寫代碼其實就像寫文章一樣,不僅需要有一個主旨,告訴別人代碼的作用是什么,還要在精煉與易讀之間做權衡,代碼過于精煉,整體邏輯難以跟隨,代碼過于易讀,整體就顯得比較臃腫。
如果問你什么是好代碼,相信你能說出一堆規則,比如使用一致的格式和縮進、使用清晰的變量名和方法名、在必要時提供文檔與注釋、不要過度精簡代碼等等。那么,對于什么是爛代碼,你是否有個比較清晰的認知呢?
日前,公眾號“機器之心”編譯了 GitHub 上的一個項目,該項目介紹了“最佳垃圾代碼”的 19 條關鍵準則。本文從中精選出 10 條準則分享給你,你可以從相反的角度來理解這些觀點,避免寫出垃圾代碼。
1. 打字越少越好
輸入的東西越少,那么就有越多的時間去思考代碼邏輯等問題。
2. 不要寫注釋
反正代碼都看得懂,為什么要寫注釋?或者說,反正沒人看我的代碼,為什么要寫注釋?
3. 盡可能混合不同的格式
為了代碼的多樣性,你盡可能混合不同的格式,例如單引號或雙引號。如果它們的語義相同,那就應該混用。
4. 發現錯誤保持靜默
當你發現某些錯誤時,其他人不需要了解它,因此你不必打印出日志。
5. 構建備用變量
以防萬一,你需要創建一些備用變量,在需要時隨時調用它們。
6. 鎖住依賴項
每一次要安裝新庫時,更新已有的依賴項。為什么要維持之前的版本呢,你需要時刻保持最新的第三方代碼庫。
7. 混合縮進
你要避免采用縮進,因為縮進會使復雜代碼在編輯器中占用更多的空間。如果一定要采用縮進的話,可以使用混合縮進策略。當然,這種策略在 Python 中是行不通的,因為它靠縮進來確定代碼結構。
8. 長函數比短函數好
不要將程序整體邏輯分割為一些代碼塊,要是 IDE 突然不行了,它找不到必要的文件或函數該怎么辦?因此,你需要把代碼寫在一個主體函數中,并且不再維護額外的函數導入或代碼文件,這樣的方法才是最穩定的。
單個文件一萬行代碼是沒問題的,單個函數一千行代碼也是沒問題的。
9. 代碼不需要做特定測試
這些測試通常是重復且無意義的工作。
10. 保存不必要的代碼
在寫代碼的過程中,經常會產生很多測試代碼。這些代碼也是非常重要的資料,因此不能刪除掉,最多只能注釋掉。
以上就是寫出爛代碼的 10 條準則,如果你想寫出好代碼的話,就要從相反的角度進行理解。在你看來,還有哪些爛代碼準則呢?歡迎在留言區補充。