代码 重构 总结
最近一直在重构应用中心代码,在重构的过程中,想到了之前看的一本书
叫代码重构之道,之前看的时候会觉得有些不理解,但是还是记了其中的知识点
通过这次重构,对重构又有了更新的认识
重构,就是在不影响现有的业务情况下,修改代码的行为,这里修改代码的过程中为了使整个业务更加清晰,在熟悉原有的逻辑的情况下,重新
画了流程图、重新进行了业务设计和技术设计,而且重构也不是一次性的,它贯穿软件的整个生命周期,只要觉得不合理都是重构的时机
为什么我想要重构?
首先,我在接手这个应用中心后,会有很多的问题导致badcase,而去深究这些原因,大都是设计的不合理,或者很多情况没有考虑到,
而且发现好多if-else,更严重的是在foreach循环中套查询语句,
所以,我决定重构,重构的好处也有很多:
比如让代码更加容易理解、改善内部的结构、后期修改更容易,同时提高了编程速度,加快了业务的迭代
那么怎么重构呢,我总结了有以下方面:
1、重复代码问题:解决重复的常有手法:抽取到单独的函数,放在基类中,使用模版函数模式,就是提取一个通用的方法,或者写工具类
在使用的时候直接调用工具类
2、过长的类或者函数:这种非常的无意义,做的事情太多,那就成了定制,其他地方也用不了,所以要拆成多个小类或者短函数,尽量一个函数
只做一件事,拆分类的原则是单一原则,内聚,常用手法:子类化
3、命名随意:这样会导致后期修改非常费劲,别人在读你代码的时候也特别费劲,所以类名应该是名词或名词短语,函数应是动词或动词短语
4、去掉无效注释
5、切忌foreach循环中套查询语句
6、使用监控,即使发现有问题的接口
7、合理使用缓存,查询语句,尽量不要在model层加缓存,它就是简单的查询,接口业务中哪里需要加缓存,从缓存中取不到数据再从数据库取
8、做之前还是要想清楚业务,在什么时候去写一条语句,而不是前面写了后面除了问题再删,不仅增加了数据的操作,也使整个接口看起来冗余复杂
这是最近重构代码的一些经验总结。