前言
做一件事情的时候,聪明的人考虑未来三到五年,厉害的人考虑五到十年,真正厉害的人考虑未来十到二十年。
现在在敲的代码,在十年后可能不值一文,但是思考这件事情永远都不会过时。
今天继续来讲一讲如何编写高质量的代码。
代码中的坏味道
发散式变化
什么是发散式变化?举个例子。如果因为需求A,你需要修改C这个类。如果因为需求B,你还是需要修改C这个类。A与B可能是比较不相关的需求。那么这就是所谓的发散式变化。 个人觉得发散式变化
说的有些绕口,可以理解为一个类应该只负责一件事情
会比较好理解一些。
遇到一个类没有负责一件事情
的时候,我们应该运用Extract Class
或者Extract SubClass
来抽取这个类里面的信息,将一部分信息抽取到另外一个类里面。这样需求A只会影响C1,需求B只会影响到处C2。这样就比较好一些。
霰弹式修改
与发散式变化
恰恰相反,霰弹式修改
是因为一个需求导致多个类有许多小修改的情况。
这个时候可以使用Move Method
或者Move Field
来进行优化代码。将多个需要修改的地方抽象到一个类里面。
小结下:上面两种代码中的坏味道
其实都有一个统一的原则就是一个修改点因为尽量之影响一个类。一个类的变化也只会反应同给一个修改点。
两者尽量是一一对应的关系。
关于写作
以后这里每天都会写一篇文章,题材不限,内容不限,字数不限。尽量把自己每天的思考都放入其中。
如果这篇文章给你带来了一些帮助,可以动动手指点个赞,顺便关注一波就更好了。
如果上面都没有,那么写下读完之后最想说的话?有效的反馈和你的鼓励是对我最大的帮助。
另外打算把博客给重新捡起来了。欢迎大家来访问吃西瓜。
我是shane。今天是2019年8月30日。百天写作计划的第三十七天,37/100。