多谢邀请,已经有两个朋友邀请我回答这个问题。
我确实不太想回答,原因有二,一是已经有很多人的回答了,各种工具都包括在内,可以写一本工具大全了。二是,工具真的很重要么?
作为一个写了快30年代码的老coder,一个管理了快二十年团队的项目经理,我的感觉是,团队中对一个工具的熟悉程度,往往比工具是否好用更重要!
熟悉了,才能用好,很多工具不是不好用,其实大部分工具都提供了足够多的基本功能,选择的意义并不是特别大。
而更多的时候,是大家不熟悉,没有用好这个工具,然后以工具为借口进行扯皮,耽误了开发时间。
认真努力的用好现在的工具,配合好,加上合适的过程模型,这才是最佳组合。
我一直认为,软件工程是由两个重要的组成部分组成的:软件工程过程论和软件工程方法论。
这两个部分都有相应的工具支撑,很多很多,如上面众多的高点赞回复中都已经给了非常多的工具。
但是,有几家公司有几个团队真的把这些工具都用好了?
其实用好的团队很少上来问这些问题了。
另外,就是工具的使用一个是熟悉,另一个是要与具体的过程相结合,过程就是上面过程论中的核心内容。
换句话说,做好你目前的,如果你们已经在使用某种工具了,那就不要随便说去更换,而应该考虑如何把这个工具用得更好,更换工具的成本往往更大!如果你工具用得怎么都不舒服,那好,看一看你们的过程是否有缺陷,有问题,然后进行整体思考规划后,合理的进行工具的选择,不得已才能考虑更换工具的问题。
这就是我的建议,如果还不明白,请我给你们提供咨询服务,不过,价格比较高,但是,肯定能给你解决问题!