命名是编程中很难的事情,所以最常用的重构手段就是去改个名字。
如果你发现改名很难,那就说明代码设计有问题。
同一类的两个函数含有相同的表达式,就应该提炼。
活得最长,最好的函数,一般都很短。
如果你觉得需要写注释,大部分情况就代表这个东西需要写进一个独立的函数里面,然后根据用途来命名比较好。
将几个函数共用的参数抽象成类,然后再调用类。
全局数据的问题是,全局数据在任何地方都可以被修改。
所以正确的做法是将全局数据封装起来,用函数将其包起来,这样就知道那些地方修改了它。
核心是缩小作用域。
如果这个模块,加不同原因的需求的时候,修改的模块都不相同的话,你需要考虑是否要分离出来。比如说你加入redis需要改3个地方,加入mysql需要改4个地方,你就应该抽离出来。
在每次修改的时候,应该只修改一处,而不是到处的修改。如果你说你要加入一个数据库,需要修改3个函数,那么这就需要思考,你是否应该抽离出来。
模块化,力求代码分出区域,最大化区域内部交互,最小化区域间交互。
如果两个模块交互频繁,你应该合并在一起。
如果在多个类中,出现了很多相同项的数据,你需要想想是否要抽离出来一个对象。
我们应该创建对象,而不是用一个字符串来写任何东西。
比如有程序员用字符串来表示电话号码,实际上你应该抽象出来一个电话号码对象。
switch这个东西就不应该存在。
我们应该用管道操作来替代循环,这样能更看清被处理的元素和处理他们的动作。
能简单的代码,尽量简单。未来变复杂的时候,再去考虑它。
同上。
临时的字段不应该存在。
如果关系过长,你最好提炼函数。
...... (省略其中的很多点)
注释是提示你,这个地方该重构啦。
如果你觉得需要写注释的时候,请先重构,试着让所有注释都变得多余。
原文:https://www.cnblogs.com/qscqesze/p/12193564.html