为什么需要进行重构? (转)[@more@]One of the factors in looking at this is why are we refactoring in the first
place. One of my concerns with many proponents of lightweight methods and
refactoring (not all as I too am a proponent of refactoring and lightweight
methods) is that they don't make the distinction of why the refactoring is
needed. Refactoring to fix "code smell" to my mind is because people didn't
understand the basics of good design in the first place. To write great
code, you must write code that:
1. Runs all the tests.
2. Contains no duplication (once and only once)
3. Expresses all the ideas you want to express.
a) Do not put the implementation of unrelated ideas in the same
method.
b) Classes should organize ideas in a readily understandable way.
c) Use appropriate names so you don't have to explain method, member
or class names with additional documentation
d) Methods and classes should be implemented so they can be
understood totally from their public interfaces. This not only allows
for up-front testing, but decreases coupling.
4. Minimizes classes and methods. This is actually redundant, but is a
reminder that we are trying to make this simple and concise
In my mind, refactoring should not be needed to fix code if you are
following these rules. However, refactoring is definitely needed to:
1) fix legacy code once your understanding of patterns has increased
2) prepare code for new functions resulting from changing requirements or
the next development iteration
place. One of my concerns with many proponents of lightweight methods and
refactoring (not all as I too am a proponent of refactoring and lightweight
methods) is that they don't make the distinction of why the refactoring is
needed. Refactoring to fix "code smell" to my mind is because people didn't
understand the basics of good design in the first place. To write great
code, you must write code that:
1. Runs all the tests.
2. Contains no duplication (once and only once)
3. Expresses all the ideas you want to express.
a) Do not put the implementation of unrelated ideas in the same
method.
b) Classes should organize ideas in a readily understandable way.
c) Use appropriate names so you don't have to explain method, member
or class names with additional documentation
d) Methods and classes should be implemented so they can be
understood totally from their public interfaces. This not only allows
for up-front testing, but decreases coupling.
4. Minimizes classes and methods. This is actually redundant, but is a
reminder that we are trying to make this simple and concise
In my mind, refactoring should not be needed to fix code if you are
following these rules. However, refactoring is definitely needed to:
1) fix legacy code once your understanding of patterns has increased
2) prepare code for new functions resulting from changing requirements or
the next development iteration
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-990197/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10752043/viewspace-990197/
本文探讨了重构的目的及重要性,指出重构不仅是解决代码质量问题的有效手段,也是适应需求变化、提高代码可维护性的关键。遵循良好设计原则可以减少重构的需求,但在面对遗留代码或需求变更时,重构仍是必不可少。
1263

被折叠的 条评论
为什么被折叠?



