在進行團隊的review code時,經常發些大量的重復代碼,或者幾乎一樣的代碼,這個文件有,另外一個文件也有,看着讓人很不舒服,也為日后的修改帶來不確定性,哪如何避免它們呢?
(一) 從代碼上避免
在擼代碼的時候,我們盡量抽取公共功能,把業務邏輯抽象化,多運用設計模式指引我們實現功能,這些都是前輩們的經驗沉淀。
可以經常使用的功能,抽象成通用模塊,這樣不僅僅本項目使用,其它項目都可以使用,通用模塊盡量不依賴業務功能,可以做成純粹的功能模塊,盡可能通用化。
養成代碼片段的整理也是一個好的習慣,把能實現某一功能的代碼段收集起來,下次再次使用的時候就方便很多,我常用有道雲筆記記錄零碎的代碼片段。
(二) 從架構設計
架構設計本來就是一個業務需求高度抽象的過程,再高層次把業務抽象成高度解耦,就從業務邊界避免了重復的開發工作。
在架構設計時,采用合適的中間件,同樣可以避免重復的工作,這點很多架構師們人忽略,比如我們開發中場景的MySql讀寫分離功能,如果我們采用跟項目集成的方式,通過配置主從數據庫然后再代碼中實現讀寫分離的功能,就需要改動配置文件及業務代碼,形成了跟項目耦合的方式,同時每個項目都會有類似的代碼,但如果我們采用中間件的代理方式就會跟項目本身解耦合,減少重復的工作量,所以架構師的認知寬度是非常重要的。
如果有什么問題,可以加我微信(微信號:dotnetdev)、QQ(QQ號:1441299),多多交流,共同進步。