最近在更新类库的时候发现我们老大做了一件鸟事,他把一个类库里面的很多项目都用了的函数删掉了,汗。。。原来类库的函数是这样的:
public void CloseClientModalWindow(Page page)
public void CloseClientModalWindow(Page page, string returnValue)
然后他写了一个函数来代替
public void CloseTopWindow(Page page, string returnValue)
怎么说了,我个人觉得这是一个很不好的类库重构和开发方法,首先这个函数在我现在的项目里面有很多地方用到了,而且我的都是用只有一个参数的形式的,因为只是关一个模态窗口呀,并不一定要返回值的。我这样子说了一下,老大给了我一个很雷的回复,你替换掉(vs里面的替换。。。)。然后我说这样改不好,为什么不标记为已弃用了?为什么不用Obsolete标记一下了?然后老大好像不高兴了。。。
姑且不论其他的情况,一个类库特别是一个通用类库,你更新和维护的时候总要考虑一下你以前的那些项目和应用吧,大至一个命名空间小到一个方法和一个属性你都要维护的呀,这样突然之间的将一个方法或者一个类删掉必定会造成以后项目和应用的维护的艰难的。所以我一直都用obsolete标记,这样下一次被人维护的时候如果有空闲时间就去改一下,没空闲时间也可以让程序继续运行下去呀。
第二,个人觉得,原来的方法命名要比后来的要好,因为原来的函数名就是关闭一个模态窗口,可是后来的了,变成关闭Topwindow,这个topwindow怎么说也觉得不妥,如果你用的是js的open函数,那么哪一个是topwindow?这个虽然不是什么大问题,但是个人觉得,特别是类库,你总要起一个让人一看就知道是什么的名字吧,我没可能用的时候再问你,这个函数是做什么。