在进行团队的review code时,经常发些大量的重复代码,或者几乎一样的代码,这个文件有,另外一个文件也有,看着让人很不舒服,也为日后的修改带来不确定性,哪如何避免它们呢?
(一) 从代码上避免
在撸代码的时候,我们尽量抽取公共功能,把业务逻辑抽象化,多运用设计模式指引我们实现功能,这些都是前辈们的经验沉淀。
可以经常使用的功能,抽象成通用模块,这样不仅仅本项目使用,其它项目都可以使用,通用模块尽量不依赖业务功能,可以做成纯粹的功能模块,尽可能通用化。
养成代码片段的整理也是一个好的习惯,把能实现某一功能的代码段收集起来,下次再次使用的时候就方便很多,我常用有道云笔记记录零碎的代码片段。
(二) 从架构设计
架构设计本来就是一个业务需求高度抽象的过程,再高层次把业务抽象成高度解耦,就从业务边界避免了重复的开发工作。
在架构设计时,采用合适的中间件,同样可以避免重复的工作,这点很多架构师们人忽略,比如我们开发中场景的MySql读写分离功能,如果我们采用跟项目集成的方式,通过配置主从数据库然后再代码中实现读写分离的功能,就需要改动配置文件及业务代码,形成了跟项目耦合的方式,同时每个项目都会有类似的代码,但如果我们采用中间件的代理方式就会跟项目本身解耦合,减少重复的工作量,所以架构师的认知宽度是非常重要的。
如果有什么问题,可以加我微信(微信号:dotnetdev)、QQ(QQ号:1441299),多多交流,共同进步。