在代码编辑方面,主要增加的功能如下:
1. 重构(Refactor)
这是现代代码编写、设计模式运用的对开发工具的最基本的要求,也是最重要的一环节,M$一直不肯加,这次总算是舍得加上了,痛快痛快,我看了看,whidbey beta时重构的功能还很少,预览版现在已经增加了不少,与Eclipse提供的功能已经很接近了,这还是预览版,正式版可能会超过Eclipse。
提供这一能力最大的好处就是加强.Net开发人员的设计意识,这也是大部分.Net程序员与Java程序员的差距所在。
重构是指:在不改变代码功能的基础上,改变代码的结构。
举几个重构的简单例子:
1. 重命名某个类,某个字段或者是本地变量,你则需要“rename“操作。
2. 某函数代码太长,你就需要将一个函数分成多个小函数,则你需要“Extract Method(抽取方法)”
3. 你的类,需要增加基类(接口),以更好的符合里氏代换、依赖转置原则,则你需要 “Extract Interface”
4. 某个方法要移至基类或子类,你则需要使用“Pull UP” 或 “Pull Down”
5. 。。。。。
重构是一种思想,当然你可以用手动改代码直接实现,但是你面对大项目时,你就会发现手动重构是多么痛苦,比如你在项目中,修改一个被其它人广泛使用的类名(方法名),如果你手动修改,必须得一个个的手动查找、修改,你认为不痛苦吗?
如果只需要点几下鼠标,就能搞定这一切,那多爽?
这就是开发工具提供重构的意义。
2. 格式化(Format)
提供这个功能就是一个进步,以前Vs2003虽然也有format,但是太弱,可以忽略不计,而这次提供的就不少,看options中的选项就知道了,但是比起Eclipse 3.0来,还是不够强大。有总比没有的好。
3. 内置了测试(Test)
Java中有著名的Junit,Eclipse,Jbuilder等Java主流开发工具中都直接集成Junit,因此在Java中编写测试案例很方便,.Net中虽然也有Nunit,但是由于在Vs.net不直接集成,感觉还是很不爽,直接导致了.Net开发人员忽视单元测试。
现在2005中直接集成了,应当会把.Net开发人员的测试意识提高一大截。
4. 代码覆盖率(coverage)
这是与测试并行出现的新东东,在java中有一个牛玩意叫Clover(这家伙太另类,Java一片开源,他还要收钱),干的是同样的事情。代码覆盖率是衡量测试案例好坏的首要标帜。
覆盖率高则说明测试案例写得全,以后对代码进行重构更放心。
5.混淆器(Dotfuscator)(Vs.net中有,我错了)
不管是Java还是.net,代码都会被反编译,这个玩意当然不能少,呵呵。这个应当是从Jbuilder来的,连菜单的位置都一样,呵呵。
===混淆器(Dotfuscator) :在vs.net2003中就有吖,不过是community edition
6. 任务标签(TaskList)(Vs.net中有,我错了)
这里应当也是学的Eclipse,只要在代码注释中用特写的字符(比如:TODO),则在TaskList中就会自动显示,用过Eclipse的人都知道这个的好处,可以随时标记自已代码中的工作,防止自己忘记。
====这个在vs.net2003中就有
其它的优点,我还没有来得及细看。。。暂时就不说了。。
不过也有我不满意的地方,或者说与Eclipse的差距,就是对源(Source)的支持。Eclipse中的这个功能让写代码的速度大大增强,比如由字段生成属性、快速override父类方法等.
总得来说,Vs.net 2005还是个让人期待的产品,M$j不愧是一个“借”的专家。