工具从来就乱花迷眼,但花哨的工具未必适合自己的团队。
洗净铅华的总结出一些最必要的,能提供最大辅力加持的工具。
参见《死亡中旅》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
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,但php世界里显然有更好的选择如Dokuwiki。
我一直希望wiki语法有所见所得的编辑器。
其他工具包括纸,笔,足够大的白板,随时可用的会议室。
还缺了什么?
一、代码自动生成工具中也没有最趁手的。
二、因为没有足够的UnitTest用例,配好的持续集成工具没有实际运作。
工具从来就乱花迷眼,但花哨的工具未必适合自己的团队。
洗净铅华的总结出一些最必要的,能提供最大辅力加持的工具。
参见《死亡中旅》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
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,但php世界里显然有更好的选择如Dokuwiki。
我一直希望wiki语法有所见所得的编辑器。
其他工具包括纸,笔,足够大的白板,随时可用的会议室。
还缺了什么?
一、代码自动生成工具中也没有最趁手的。
二、因为没有足够的UnitTest用例,配好的持续集成工具没有实际运作。