Java世界的工具从来就乱花迷眼,但花哨的工具未必适合自己的团队。
又一个项目快要结束之际,洗净铅华的总结出一些最必要的,能提供最大辅力加持的工具。
参见《死亡中旅》2nd 第x章--最小工具集.
1.支持重构,TDD, Debug J2EE应用和Flying Error提示的IDE
a.重构:即使团队用的最多的只是Rename,Move,Extract Method等有限几个最基本的功能,但J2EE结构里牵一发动全身的事情太多了,重构会帮你把事情擦干净,形成依赖后,已不习惯靠编译器。
b.TDD:TDD不等于Unit Test。TDD是让你不用依赖表现层,不用手工输入数据,清除数据,不用重起Tomcat的开发。
我们团队暂时还追求不起测试覆盖率,So,UntTest只是一种开发的手段,而不是测试的手段。
c.Debug J2EE应用:
Web开发者一般用System.out或者log4j来显示调试信息,但对于曾经桌面编程的程序员来说,直接进入调试模式,单步跟踪程序执行路径,想看哪个变量就看哪个变量,才是天经地义的事情。
只是之前的IDE不能支持而已。
d.Flying Error提示:
Java IDE的标准配置了,有错马上提示,不要等编译时。可惜其他语言的IDE里这还不是标配。
团队现在用的是IDEA 4.5。 需要到某些 插件时才打开Eclipse。
2.版本管理工具和 文本差异比较/合并工具
这年头,还有谁敢不用版本管理工具就跟人合作开发么? 有的。
一个好的Programer,除了要有好的udpate/commit习惯外,会不会善用文本差异比较/合并工具是另一层次的观察标准。
另外,版本管理工具要能和IDEA结合(因为重构时有用)。
用的还是CVS, 绿毛小海龟和WinMerge. SubVersion等哪天吃饱了撑着时再换。
3.项目计划,任务分配,需求变更管理,Bug管理工具
项目计划,任务分配,进度跟踪,需求变更管理,Bug管理几乎就是PM的全部工作了。
以前总有很多软件分开来管理这些问题,同一问题经常要Copy Paste好几个软件。
但如果你的团队的项目计划是XP plan风格 而不是MS Project---
那恭喜了,一个JIRA就可以完成所有任务。
4.带免干扰的团队IM工具和共享文件夹
前代是言必称Email的,但我们更喜欢QQ 群的即时性与群发性。
同时QQ 2005版--"来消息时只显示消息条数"的免打扰功能很重要。
坐在一起的团队,在文件服务器上建个共享文件夹就够了。
其他工具包括纸,笔,足够大的白板,随时可用的会议室,知识库用的wiki。
还缺了什么?因为没有足够的UnitTest用例,配好的持续集成工具没有实际运作。代码自动生成工具也还没有最趁手的。