随笔-208  评论-469  文章-30  trackbacks-0


工具从来就乱花迷眼,但花哨的工具未必适合自己的团队。
洗净铅华的总结出一些最必要的,能提供最大辅力加持的工具。
参见《死亡中旅》2nd 第x章--最小工具集.

1.版本管理工具和文本比较/合并工具
   用的是CVS: 绿毛小海龟WinMerge.  
   这年头,还有谁敢不用版本管理工具就跟人合作开发么? 有的。
   一个好的Programmer,除了要有好的udpate/commit习惯外,会不会善用文本差异比较/合并工具是另一层次的观察标准。
   另外,因为重构时有用,版本管理工具要能和IDE结合。

2.项目计划,任务分配,需求变更管理,Bug管理工具
    偶然的,我发现自己把这些都交给了JIRA完成。

    项目计划,任务分配,进度跟踪,需求变更管理,Bug管理几乎就是PM的全部工作了。
    以前总有很多软件分开来管理这些问题,同一问题经常要Copy Paste好几个软件。
    但如果你的团队的项目计划是XP plan风格 而不是MS Project
    那恭喜了,个JIRA就可以完成所有任务。

3.支持重构,Flying Error提示,TDD和Debug 的IDE

 Java: IDEA 5.0能满足下面的全部要求。 
 C++: VC7.1+VA,就差好多了。
 Ruby: Eclipse的RDT插件,就弱得一塌糊涂。
 Groovy:IDEA的插件Groovyj
 Php: Zend Stuido

 有时候,我也会用Eclipse+商业的,免费的插件代替分别打开上面这么多IDE。

 a.重构:即使团队用的最多的只是Rename,Move,Extract Method等有限几个最基本的功能,但J2EE结构里牵一发动全身的事情太多了,重构会帮你把事情擦干净,现在已形成依赖。

 b.Flying Error提示:
    Java IDE的标准配置了,有错马上提示,不要等编译时。可惜其他语言的IDE里这还不是标配。

  c.Debug J2EE应用:
     Web开发者一般用System.out或者log4j来显示调试信息,但对于曾经桌面编程的程序员来说,直接进入调试模式,单步跟踪程序执行路径,想看哪个变量就看哪个变量,才是天经地义的事情,只是之前的IDE不能支持而已。
    
  d.TDD:TDD不等于Unit Test。TDD是让你不用依赖表现层,不用手工输入数据,清除数据,不用重起Tomcat的开发。
    我们团队暂时还追求不起测试覆盖率,So,UntTest只是一种开发的手段,而不是测试的手段。

4.团队IM工具和共享文件夹
   
前代是言必称Email的,现在配合Google Group也很好用,但我们更喜欢QQ 群的即时性。
    同时QQ 2005版的"来消息时只显示消息条数"的免打扰功能很重要。
    对于坐在一起的团队,在文件服务器上建个共享文件夹就够了。

5.知识库Wiki
   Java里JspWiki是最简单易装的入门级wiki,Cofluence 2.0终于有了所见所得的编辑器的编辑器。
   php世界有其他的选择如Dokuwiki 和wikipedia


其他工具包括纸,笔,足够大的白板,随时可用的会议室。

还缺了什么?
一、代码自动生成工具中也没有最趁手的。
二、因为没有足够的UnitTest用例,配好的持续集成工具没有实际运作。

posted on 2006-01-02 20:28 EricWong 阅读(267) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: