Board logo

Subject: 关于结构高亮(Structure Highlighting)的一些想法 [Print This Page]

Author: lextm    Time: 2006-9-15 13:42     Subject: 关于结构高亮(Structure Highlighting)的一些想法

很多人,包括从前的我,都喜欢CodeRush或者Castalia提供的结构高亮。这也难怪这个论坛里面这么多留言希望CnWizards加上这个功能。

但是,这个功能很容易造成两个问题。

一,IDE执行效率明显变差,即使使用的只是局部高亮。

二,把编程习惯搞坏了。

问题一比较好解决,当我开始用这台新电脑的时候,我发现效率问题交给一个强大的CPU就好了。

问题二,则似乎很多入门级别的开发者根本不会意识到。这也是这里讨论的重点。

为什么需要结构高亮?仔细想一想,无非是太多的代码挤在一起。怎么会挤在一起呢?我想很多情况下,就是有一个其大无比的函数,有多层的if-else嵌套。

但是,解决这个看不清问题的方法是结构高亮吗?我的答案是“错”,绝对应该是重构,而且首先考虑的就应该是Extract Method。都有这么明显的怪味道了,难道不该重构代码吗?

现在的我,虽然不像某些书中所说一个函数仅仅10行,但是基本上一屏都不到,所以,有了JCF.exe的一点点帮助就足够了。

所以,我的结论是,还是不要在CnWizards里面加入这个东西的好。毕竟,开发本身比较麻烦,实际效果,又有点姑息养奸(言重了一点)的味道。

我认为,学习重构,时常重构,才是提升自己的一条正确道路。
Author: Passion    Time: 2006-9-15 13:58

工具和自身习惯的关系就像发明家和懒人。
发明家的劳动造就了很多懒人,但倘若懒人自己变懒后失去了生活能力,那也不能怪发明家。
Author: wenfei    Time: 2006-9-16 00:16

楼主一点、二点都不同意。
首先,问题一好解决吗?恰恰相反,Castalia也没解决这个效率问题。换强劲的CPU能算根本解决方法吗?而且怎么能保证所有用户都有强劲CPU?如果在能解决效率的基础,开发出这样一个有效的功能,何乐而不为呢?
其次,我同意楼主说的编程要遵守规范,养成好习惯。但有时候长函数是不可避免的,看看VCL源码中也有很长的函数。结构高构高亮在阅读代码的时候,对快速理解层次结构,是十分有效的,当然也就提高了开发效率。而提高开发效率,我想本就是CnWizards的宗旨吧。
Author: VictorWoo    Time: 2006-9-17 12:03

to lextm大侠:
最近也在看侯捷译的重构,反观原有代码,对其重要性身有体会。
不过我觉得重构还不足以作为取消结构高亮的充分条件。
因为我们每天不仅要写代码,还要读大量的代码,难免别人的代码会出现层层嵌套的if..else
社会和学校不同,老师有义务培养所有学生的编码风格,而社会上的工具就像双刃剑,看你怎么用了。
所以工具的开发者可以不用太多顾虑




Welcome to CnPack Forum (http://bbs.cnpack.org/) Powered by Discuz! 5.0.0