论坛首页 综合技术论坛

与高手交流的一个陷阱

浏览 36366 次
该帖已经被评为精华帖
作者 正文
   发表时间:2003-12-06  
与高手交流,经常容易陷入的一个陷阱是他们往往都有一些自己心爱的工具(古龙:七种武器)。他们非常喜欢谈论使用某种工具后开发效率有了显著的提升,而且深深以自己使用的工具为傲,似乎你没有用这种工具就完全没有与他进行交流的共同词汇。
这种倾向经常使初学者忙不迭地找来那种工具学习掌握,等到好不容易用熟了,却发现并不一定有那么神奇的功效而感到失望。我发的“什么是软件开发的核心问题”的帖子就是想提醒大家要把主要的注意力集中在建立概念模型这个核心问题上来,这是一个纯粹的软件问题,可以完全保留在你的头脑里(请看 Martin Fowler 大师的文章“让软件软下去”:
http://www.chinaxp.org/forum/viewThread.go?parentId=1056802380048&forum=1),工具只是次要的问题。现在那么多开源的工具,资料都是现成的,你能学会,我只要知道了也能学会。就算我能学会也不见得就比你强,而业务建模,解决复杂问题的能力别人是很难替代的。
高手往往都是些基础很好的人,所以能够举一反三、触类旁通,掌握一种新工具也比新手要快。但是工具只是他知识体系中冰山的一角,不能忽略他成长过程中的巨大付出。如果你没有很好的基础,能够轻易掌握一些复杂的工具吗?Hibernate China 的高手很多,但是大家要小心不要落入他们的陷阱中。否则你使用越来越多复杂的工具将越来越偏离 Kent Beck 所倡导的简单原则。

这里我想说的就是,你用熟了的工具就是最好的工具,一定要把你手边工具的潜力发挥到极限,到你确信复杂的问题一定要更换工具的时候再更换。所以我绝对不会嘲笑别人使用 JCreator,也不会因为别人都使用 Struts 而马上放弃我们自己的框架改用 Struts。

作为一个 PM,工具的选择一定要保证概念完整性,应该尽量选取精练、容易理解的套件。

现在对于 Java 开发人员,我觉得如下的工具可以说是一个标准配置:
1、Eclipse 以及集成在其中的各种工具。
2、Tomcat/Jetty 或者 JBoss/JOnAS
3、Ant
4、CVS
5、JUnit/HttpUnit/Cactus
6、Bugzilla 或其它 Bug Tracking 系统。如果能基于 Java 是最好的,现在已经有这类工具了。
7、XDoclet(可选)
8、Hibernate(可选)

至于 Maven、cc、Anthill 或者是 Damagecontrol 这些更加复杂的工具可以在适当的场合使用。这些工具属于项目管理/配置管理的范畴,不属于基本工具的范畴,掌握这些工具是 PM 和主要设计人员的责任(他们有责任维护一个始终可以正常运转的开发环境),不是程序员的事情。这些工具可用也可不用。
Damagecontrol 是用 Ruby 开发的,在一个小公司从保证概念完整性的角度最好不要使用。我们使用 ViewCVS 我都踌躇再三,害怕分散精力,因为 ViewCVS 是使用 Python 开发的。好在安装之后用了 8 个月一直没有出什么问题。使用 Bugzilla 是因为 Bugzilla 用 Perl 开发,我对 Perl 非常熟悉,自信能解决所有的问题。

由于 Eclipse 象 Emacs 一样具有无限的可扩充性,因此将来的某一天,我们在 Eclipse 中做自己想做的任何事情是完全有可能的。

工具的精练,保证概念完整性,重复使用后的熟练和信心是开发效率的关键。在项目开发的中途更换工具是项目开发的大忌。还有就是 PM 和主要的设计人员不要随便把自己都不熟悉的工具交给程序员使用,那样是会出大乱子的。
   发表时间:2003-12-06  
dlee说得真好,很具有代表性,我现在的感觉就是尽量把自己会用的发挥得更好,至于那些新的技术,先了解多些,等真需要的时候,再花些时间研究,能够掌握好就行!
0 请登录后投票
   发表时间:2003-12-06  
引用
6、Bugzilla 或其它 Bug Tracking 系统。如果能基于 Java 是最好的,现在已经有这类工具了。


dlee,你说这类工具有哪些? 前段时间我们一直在找,没有找到专门的Bug Tracking系统,后来找到CVSTrac,感觉很好用,就在用,不过CVSTrac不是一个专门的Bug Tracking系统。


这是Cnpack的yygw安装和汉化的:

http://www.cnvcl.org:8008/cnpack/index
0 请登录后投票
   发表时间:2003-12-06  
这里有一个目前市场上可用的 Defect Tracking Tools 的列表,从商业软件到开源软件都有。
http://www.testingfaqs.org/t-track.htm
我们使用 Bugzilla 完全是因为 Bugzilla 名气比较大,而且 Eclipse 本身也在用,觉得它可能比较成熟。并没有做过很仔细的比较和分析。不过用下来感觉基本上够用了。主要就是一个 auto-email 的功能很有效果。
Bugzilla 的缺点是安装起来比较费事,需要安装一大堆 Perl 模块,不过使用起来还是很容易的。
0 请登录后投票
   发表时间:2003-12-07  
对于初学者来说, 坚持一个工具和开发环境是比较的,因为这样可以专注于所学习的技术.

但是接触多一点, 也没有坏处,  而且我建议还是多看一点,多接触一点, 只要知道应该自己的方向就好了.
0 请登录后投票
   发表时间:2003-12-07  
忍不住要说一句粗话了,我操,dlee,你怎麽每次都说出了萦绕我心头的东西,工具的选择的好坏对工作是有影响,但不是主要的,有点像武侠小说中比武时空手夺白刃一样,有没有真功夫是才是关键!
0 请登录后投票
   发表时间:2003-12-10  
robbin 写道
引用
6、Bugzilla 或其它 Bug Tracking 系统。如果能基于 Java 是最好的,现在已经有这类工具了。


dlee,你说这类工具有哪些? 前段时间我们一直在找,没有找到专门的Bug Tracking系统,后来找到CVSTrac,感觉很好用,就在用,不过CVSTrac不是一个专门的Bug Tracking系统。


这是Cnpack的yygw安装和汉化的:

http://www.cnvcl.org:8008/cnpack/index


I think http://sourceforge.net/projects/trackplus/ is OK.
0 请登录后投票
   发表时间:2004-01-08  
bug tracking有个java的基于turbine的实现
scarab,就是慢一点,基本够有。表结构据说是参照
bugzilla设计的。
0 请登录后投票
   发表时间:2004-02-06  
Maven绝对是好工具,很方便,融合了很多plugin,向ant,unitTest,ect。

什么理由排斥maven那?毕竟软件的最后是管理,是PM

Eclipse 以及集成在其中的各种工具,MavenIDE也是eclipse的plugin,那么算不算那?


我是个怀疑主义者
你不使用maven,我只能怀疑你不重视软件中的文档管理
0 请登录后投票
   发表时间:2004-02-06  
hijack 写道
你不使用maven,我只能怀疑你不重视软件中的文档管理

悠着点,即使你真的懂得很多。
Maven 是不是对所有开发人员都有普遍意义的工具?是不是所有开发人员都需要抛开手头的工作去认真学习 Maven?
Maven != 文档管理
文档管理 != 文档驱动

希望你今后尽量少用这类贬低别人的方式,否则将遭到删帖处理,OK?
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics