在代码重构前,我们先来思考一个问题,什么是有质量的代码?它应该具备哪些特征,在我看来好的代码,应该以下特征:
- 好的注释跟命名
- 有良好的代码风格
- 简单,清晰,合理的业务逻辑
- 具备可扩展性性
- 良好执行效率
- 好的异常处理
- 有日志,有文档,出问题或需要修改时能快速定位
以上就是我对好的,有质量的代码的简单概述,下面则是我对代码重构的一些步骤和解释,以及思考。
1、检查你的命名
代码中的命名要合乎常理跟命名规范,不要出现中文跟有多重意思的命名,例如count这个单词,仅仅只是单词,没有知道它指的是什么数量,但如果你写成errorCount,就很明显知道它是出错数量。
2、检查你的注释
代码的注释一定要清晰合理,注释不清晰或跟代码不匹配的注释,不如没有。
要注意注释的数量跟质量,不要写大量的解释性注释,要写为什么这么处理。
3、检查你的异常处理
不要让你的程序跑死了,至少最外层是要处理异常的,不能一出错就导致程序崩溃。
抛出的异常消息要完整清晰,方便定位错误。
4、检查你的业务逻辑是否合理
到这步后,说明你的代码已经可以正常运行,并且看起来能跑了,但实际,你的重构工作才刚刚开始。
业务逻辑一定要写的合理,什么叫合理呢?就是要符合实际运用场景。
5、检查你的循环语句跟if语句
检查你的循环语句跟if语句的条件有没有写完整跟正确。
检查你的循环语句中有没有耗时的代码,优化它。
6、剔除代码中复杂的逻辑
在我们写完能解决业务需求的代码时,这些代码通常会是臃肿的,复杂的。我们要好好梳理我们的业务逻辑跟代码实现逻辑,剔除复杂的逻辑,代码中复杂的逻辑一定要摒弃,如果在编写代码时就感觉到复杂,等之后再看的时候一定是一团乱麻。
7、重新封装你的方法,类,整理你的代码结构
到这里,你的代码看上去已经不错了,但当业务发生变化的时候,这样的代码又逃不了要重写的命运了,这也是大多数软件开发者所痛恨的地方,所以,我们还要接着重构,但是否继续重构也取决于时间成本跟业务复杂度,简单的,几乎不会发生变化的功能,到这步也基本能满足需求了,对于复杂的,重要的功能,却远远不够!
8、检查你的代码的执行效率
检查你的代码中有哪些耗时的操作,是否可以优化。检查你是否在循环中嵌套了耗时的操作,如果有的耗时步骤确实避免不了,是不是能通过一些手段,优化它。
9、考虑可扩展性,仔细思考未来可能会发生的变化,当业务发生改变时,代码是否修改
什么是可扩展性?即是未来业务需求发生变化的时候,也可以通过不更改代码,或者少量修改代码的方式完成功能的扩展和逻辑修改。
10、日志跟文档
重要的,常用的功能,最怕的就是没有日志,出错的时候,不能快速的锁定出错原因跟位置,你就知道什么叫日志的重要性了。
文档也是软件开发中重要的一环,好的,清晰的文档,对于后续的二次开发跟维护来说,极其重要。