现在的位置: 首页 > 综合 > 正文

没有重构功能,牵一发而动全身

2012年06月14日 ⁄ 综合 ⁄ 共 601字 ⁄ 字号 评论关闭

某个ASP.NET的项目,因为在系统建模阶段没有考虑周全,给一个类起了个不恰当的类名,结果到了开发后期,遇到需求变更时,发现需要新创建的类的名称已被占用。而为了不引致日后混淆,尽量做到语义与实体匹配,我便决定对之前的那个类进行更改类名的操作。

以前用JBuilder,它是有重构功能的,对着类定义点右键,就有Rename的选项。Rename之后,所有代码里的相关类操作全部被改为新名称,十分方便。令人遗憾的是,VS.NET2003却不具备这种重构功能。想不明白为什么这种实现起来非常简单的功能,没被M$的开发组重视。无奈之下,只好用全局替换的土办法了。把所有出现完整类名、缩写类名(如用作实例名前缀时)、类名组合(如对应该类的数据存取函数)等都进行替换。VS.NET的替换功能也不完善,不能对项目目录下的非项目文件进行替换。于是只要把EditPlus2.12也用上,做一个全目录查找替换操作。这才完成了类改名。

改完后马上开始测试,看有没有因改名而对系统造成影响。把所有功能都操作了一遍,部分核心功能来回操作了几遍,均没有明显的错误。那么可以认为,这次改名初步成功。只是初步,因为可能有某些隐藏较深的错误要在日后的使用过程中才慢慢浮出来,现在单靠我一个人的力量还无法即时发现。

这么捣弄一回,已花了我大半天时间,苦啊~  听说VS.NET2005将添加重构功能,如果传言属实,那真是我等广大代码民工之福祉啊~~

抱歉!评论已关闭.