软件工程

本类阅读TOP10

·PHP4 + MYSQL + APACHE 在 WIN 系统下的安装、配置
·Linux 入门常用命令(1)
·Linux 入门常用命令(2)
·使用 DCPROMO/FORCEREMOVAL 命令强制将 Active Directory 域控制器降级
·DirectShow学习(八): CBaseRender类及相应Pin类的源代码分析
·基于ICE方式SIP信令穿透Symmetric NAT技术研究
·Windows 2003网络负载均衡的实现
·一网打尽Win十四种系统故障解决方法
·数百种 Windows 软件的免费替代品列表
·收藏---行百里半九十

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
为什么需要进行重构?

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

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



相关文章

相关软件