CnPack Forum


 
Subject: 关于结构高亮(Structure Highlighting)的一些想法
lextm
灌水科科长
Rank: 3Rank: 3



Medal No.1  
UID 771
Digest Posts 1
Credits 115
Posts 77
点点分 115
Reading Access 10
Registered 2005-3-28
Location Shanghai
Status Offline
Post at 2006-9-15 13:42  Profile | Site | Blog | P.M.  | QQ
关于结构高亮(Structure Highlighting)的一些想法

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

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

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

二,把编程习惯搞坏了。

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

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

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

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

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

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

我认为,学习重构,时常重构,才是提升自己的一条正确道路。
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2006-9-15 13:58  Profile | Blog | P.M. 
工具和自身习惯的关系就像发明家和懒人。
发明家的劳动造就了很多懒人,但倘若懒人自己变懒后失去了生活能力,那也不能怪发明家。
Top
wenfei
普通灌水员
Rank: 2



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




Delphi初学者
Top
VictorWoo
灌水科科长
Rank: 3Rank: 3



Medal No.1  
UID 1975
Digest Posts 1
Credits 114
Posts 98
点点分 114
Reading Access 10
Registered 2006-3-11
Location 福建
Status Offline
Post at 2006-9-17 12:03  Profile | Site | Blog | P.M.  | QQ | ICQ Status
to lextm大侠:
最近也在看侯捷译的重构,反观原有代码,对其重要性身有体会。
不过我觉得重构还不足以作为取消结构高亮的充分条件。
因为我们每天不仅要写代码,还要读大量的代码,难免别人的代码会出现层层嵌套的if..else
社会和学校不同,老师有义务培养所有学生的编码风格,而社会上的工具就像双刃剑,看你怎么用了。
所以工具的开发者可以不用太多顾虑
Top
 




All times are GMT++8, the time now is 2024-11-23 21:38

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.0.0  © 2001-2006 Comsenz Inc.
Processed in 0.008283 second(s), 9 queries , Gzip enabled

Clear Cookies - Contact Us - CnPack Website - Archiver - WAP