浏览 3072 次
锁定老帖子 主题:重构范围小议
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-01-13
Refactoring is a disciplined technique for restructuring an existing body of code,altering its internal structure without changing its external behavior 1:大一些来说,重构的对象可以是一个系统,只要不改变软件的外在行为,即软件的功能,那么对整个系统进行大的手术,也是重构。对于用户来说可能什么都没有发生变化,效果可能影响的对象,架构师--可以更快更好的扩展等,编码人员--今后可以更快的响应用户的需求。 2:次一些,重构的对象可以是一个功能点,不能改变的地方是对外的接口,也就是充当facade的那个类的所有public方法,那么这个功能点内部的剩余的所有方法都可以更改,进行重构,不管是否是public的。影响的对象,今后的维护人员,可以更快的定位问题的所在,可以更快的响应用户的变更需求。 3:再次,重构的对象就是一个类了,那么不能改变得就是这个类的所有对外的public接口和protected接口,别的都可以修改。影响对象同上。 4:最后就是方法,字段等了。影响同上。 所以站在不同的角度,站在不同的重构对象上,可以修改的东西也是不同的,就像public方法,如果站在系统和功能点上来说,有时还可以修改的了。这些都应该不是问题。当然了,作为api对外发布的就不一样了。 罗里罗嗦的说了这么多,主要就是中午自己胡思乱想了很多,就把这些记录下来,看看自己的成长历程。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-01-13
我完全同意你的观点。
我以前也跟同事讨论过这个问题,基本观点是一样的,重构说的改变内部结构不改变外部特征,是可以放在不同的层次和粒度上看的。 |
|
返回顶楼 | |
发表时间:2007-01-14
很多情况下重构经常与增加新功能是同时进行
边重构边增加功能 要分清重构与增加新功能这两种情况 |
|
返回顶楼 | |