如何寫出簡潔、高效的代碼?( 二 )



應該把解釋條件意圖的函數抽離出來,盡可能將條件表達為肯定形式不要繼承常量,比如接口中定義常量,不要使用繼承欺騙編程語言的作用范圍規則模塊不應了解它所操作對象的內部情況DTO(Data Transfer Objects)是一個只有公共變量沒有函數的類對象暴露行為,隱藏數據不要使用“尤達表示法” 如 if(null == obj),現代編譯器對if(obj = null)這樣的代碼會給出警告一般情況使用if else,簡單語句使用三目運算符通常來講提早返回可以減少嵌套并讓代碼整潔設計
類應該足夠短小類應該滿足單一權責原則(SRP),類和模塊只有一個修改理由類應該只有少量的實體變量類應該遵循依賴倒置原則 DIP(Dependency Inversion Principle),類應該依賴于抽象而不是依賴于具體細節類中的方法越少越好,函數知道的變量越少越好,類擁有的實體變量越少越好
通過減少變量的數量和讓他們盡量“輕量級”來讓代碼更有可讀性減少變量縮小變量的作用域只寫一次的變量更好,如常量
最好讀的代碼就是沒有代碼從項目中消除不必要的功能,不要過度設計從新考慮需求,解決版本最簡單的問題,只要能完成工作就行經常性地通讀標準庫的整個API,保持對他們的熟悉程度
簡單設計運行所有測試不可重復表達了程序員的意圖盡可能減少類和方法的數量以上規則按重要程度排列
無論是設計系統或者單獨模塊,別忘了使用大概可工作的最簡單方案整潔的代碼只提供一種而非多種做一件事的途徑,他只有盡量少的依賴 。明確定義并提供盡量少的API減少重復代碼,提高表達力,提早構建,簡單抽象小結
作為代碼整潔之道系列的第一篇,本文從注釋、命名、方法,單元測試,并發等視角簡單給出了一些最佳實踐,下文我們會展開來從每個方面介紹更多的實踐事例 。相信每一個優秀的工程師都有一顆追求卓越代碼的心,在代碼整潔工程實踐上你有哪些好的建議?數百人協作開發的代碼如何保證代碼整潔一致性?歡迎大家來討論 。

推薦閱讀