工欲善其事,必先利其器.
人的精力是有限的,一定要专注于一些创造性的工作.那些可重复的工作就交由计算机来做吧,它通常是不会拒绝的.
下面是我正在使用或者曾经使用过的工具或者框架:
--------------------------------------------------------------------
Eclipse 这个就不说了.
JUnit 这个也不用说了.
Ant 这个更不用说了.
Spring和Hibernate这两个也不用说了. 尤其是Spring,如果你还没有使用,我建议你一定要仔细研究一下.
Tapestry 我们现在用的是4.1.3,很简单,不过限制挺多.包括对dojo的封装不是很好,给我们造成了不少麻烦.
jMock Mock object的实现,用起来还行,不过一定要继承MockObjectTestCase就比较不友好.补充:jMock2已经做出巨大改进(除了文档),以后不再需要继承它的MockObjectTestCase了.怎么从jMock1.x移植新版本呢?建议是保留两个版本的lib,谁也不会影响谁.
EasyMock Mock object的另一个实现,与jMock各有所长.我们的项目允许两者同时使用.
PowerDesigner数据库的设计工具,我主要是用其中的物理模型.可以自动生成多种数据库的sql,也方便称植数据库.用了好多年,离不开手了.正版盗版都用过,还好不贵.
DBDesigner4 一款开源的数据库设计、建模、维护工具。支持mysql,sqllite,odbc数据库。
Subversion 用过VSS和CVS,终于还是选择了它.最好的配置控制工具.用TortoisSVN做客户端.
Rose UML工具,始终没用过正版的,最后终于放弃了,商业工具的普及在中国还是比较困难.每次使用时都能感觉到有双眼睛在脖子后面.为了坐得更舒服,现在准备使用StarUML.
Poseidon for UML UML工具,商业软件,确实好用.后期的版本需要授权.
Notepad++ 非常好用的文本编辑器.以前我一直使用editplus,也是因为版权问题,还是不用的好.这个编辑器也有一些缺点,最近又因为其网站上的不当言论,还是放弃了.现在改用PSPad.
PSPad 一款非常好用又免费的文本编辑器,操作界面接近Editplus和UltraEdit,还提供中文界面支持.实在找不到不使用它的理由.
Castor Java的数据绑定框架,自动转换Java和xml文档.简单,好用,功能也很强.后来以发展出Castor JDO实现了Java与SQL的转换.最近又有新项目,好像是关于Web Service的.
CruiseControl 持续集成服务器,ThoughtWork出品的工具,到现在为止感觉不错.我现在只使用了一些基本功能:更新代码和编译,准备把单元测试和一些代码分析,如checkstyle,jdepend,pmd,也加上去.
Checkstyle 帮助开发人员写了更符合开发规范的工具,可以检查的项目太多了,通常你只需要其功能的一个子集就够了.我还在试着用,已经实现我的基本要求,还有更多更好的特性等着我去用.
Jameleon 不错的Web UI测试框架,用得不多,要写的脚实在太多了,暂时不准备再用.希望Selenium可以更容易使用.或者FitNesse?
BeyondCompare 非常好用的文件比较与合并工具,付费软件.到现在为止,还没有发现更好用的替代品.
JMeter 压力测试工具,功能强大,用起来理所当然地没有那么容易.
VIM和Emacs 关于哪个更好的争论从来没有停止过,我也没有结论.到google上去找相关的使用手册,两种工具都用一用,然后就可以得到你想要的答案.
Findbugs 代码分析工具,主要功能有找出equals和hashCode方法不匹配的地方,检测忽略方法返回值,检测Null指针对null的解引用及冗余比较,找出未初始化就被读取的变量,命名检查,从未使用的代码,嵌套检查,import检查,耦合检查等等.
AppFuse 非常好用的开发模型,完成了绝大多数的集成工作(以Spring为核心,各类开源项目为配件).本来一直在用1.x, 现在需要更新到2.x.如果你不喜欢重新发明轮子,那么它绝对是一项聪明的选择.
TCPMon 用于监控TCP消息的工具,通常使用它来监控SOAP消息以协助WS开发.非常简单,同类的工具还有WSMonitor及AXIS的SoapMonitor.
soapUI Soap客户端模拟工具,开源软件。非常好用,可以从wsdl直接导出相关的操作接口,直接连接到Server上测试。对它,很难再提出更多的要求了。
Tada-List简单有效的任务协作工具.原先使用ATNotes帮助自己记录一些重要的工作任务,后来发现共享工作任务的功能是如此迫切,就找到了TechCrunch上的一篇文章介绍在线To-Do List比较,首先就试用了tadalist.简单是它最大的特长,可能一时无法接受它的哲学观,所以也在试用功能强大的Remember The Milk.
下面是我准备在近期使用的工具或框架:
-----------------------------------------------------------------------------
PMD
Trac or Mingle
Selenium
JavaNCSS
Maven
mysql
sqlunit
DbUnit
Fit
Fitnesse
JUnitPerf
snipsnap
struts2
Axis2(也许xfire更合适)
jBPM
还有什么好的工具吗?