C++ 寻求一个真正的;“工具链”;

C++ 寻求一个真正的;“工具链”;,c++,C++,我只是在回答一个关于“最好的”bug跟踪软件的问题时发布了这篇文章 工具本身就是工具。虽然大家都在谈论工具链,但大多数只是指工具的松散集合。为什么不找一个“与其他孩子相处融洽”的问题追踪者呢?也就是说,与IDE、构建工具、版本控制系统的接口良好 事实上,我想我现在就去问一个关于最佳链接工具链的问题 那么,有什么评论吗?我更喜欢在Linux上开发C/C++和使用FOSS的回复(但如果你认为这对其他人有帮助的话,不要让这妨碍你发布基于Windows的答案)。我们不需要一个完整的链,但也许几组链接

我只是在回答一个关于“最好的”bug跟踪软件的问题时发布了这篇文章


工具本身就是工具。虽然大家都在谈论工具链,但大多数只是指工具的松散集合。为什么不找一个“与其他孩子相处融洽”的问题追踪者呢?也就是说,与IDE、构建工具、版本控制系统的接口良好

事实上,我想我现在就去问一个关于最佳链接工具链的问题


那么,有什么评论吗?我更喜欢在Linux上开发C/C++和使用FOSS的回复(但如果你认为这对其他人有帮助的话,不要让这妨碍你发布基于Windows的答案)。我们不需要一个完整的链,但也许几组链接的工具仍然比链中完全独立的“链接”更好)

我用

  • Eclipse—用于编码和调试,以及用于
    • 用于自动代码文档的Doxygen
    • Splint和CppCheck用于静态代码分析
    • 自动测试装置
    • Bugzilla,等等,用于bug跟踪
    • 用于版本控制的CVS、Subversion等
  • Hudson-用于自动构建,带有用于
    • 用于自动代码文档的Doxygen
    • 用于静态代码分析的CppCheck
    • 自动测试装置
    • Bugzilla,等等,用于bug跟踪
    • 用于版本控制的CVS、Subversion等
我似乎缺少一个与工具链中的其他“链接”相连接的项目管理工具。我们能做到多完整,端到端,是否有一个“最好”的链(或者至少有一个链接最多)

编辑:不要忘记需求跟踪和项目规划与跟踪-结束编辑

是否有人绘制了各种工具之间的关系图(即,哪些工具与哪些工具连接,哪些工具向哪个方向连接;哪些工具可以以另一种工具的导入格式导出等等)

G'day

根据我的经验,我发现试图提出一个“确定的”工具链可能会导致问题

最糟糕的是,它往往会迫使人们对项目采取“一切看起来都像钉子”的方法。也就是说,您已经完成了选择您认为合适的工具的工作,现在您拥有了您的工具套件

根据我的经验,一旦选择并注释了其他项目的“规范集”工具,就很难让人们更改这些工具

我从事这项工作已经有二十多年了,参与了各种各样的项目,从船上潜艇声纳模拟器到空中交通管制显示系统,再到直升机控制系统。即使在同一家公司内,不同的项目也需要不同的工具集来解决将要遇到的各种问题

您可能认为,一旦您为特定目的选择了一个工具,那么您就可以在所有项目中重复使用该工具,例如,您选择BugZilla进行错误跟踪。但是,如果没有合适的SMTP服务器可用,因为您有一个分布式团队,并且您的邮件服务器是内部的、锁定的、安全的,例如

我建议最好建立一套可能的工具,您可以从中选择项目的工具套件。例如,添加Trac或FogBuzz作为可能的错误跟踪机制

很多事情都会影响您对工具的选择。在我的脑海里,我有:

  • 小组的地域分布
  • 服务器(如电子邮件、源存储库、测试平台等)的内部锁定,即不允许公众访问
  • 由于希望重用某个现有系统的某些方面,必须与该系统进行接口,例如,以前的团队受到了VisualSourceSafe的影响
  • 客户坚持使用特定平台
  • 新项目的管理团队对常规管理类型报告的要求不同于以前的管理团队
  • 等等
有一套可能性可以最大限度地减少“试图将方形销钉挤入圆孔”的影响

无论如何,你可能会发现,你可以在一段时间后减少你的一套可能性,因为你可以展示一种成功的方法,从而在公司内获得足够的动力,支持你以前做过的事情

HTH

我认为这些工具会妨碍这些紧密集成的工具链。您提到的第一件事Eclipse来自Java世界并非偶然。Unix(以及Linux)倾向于不太相信所谓的“插件”,而更多地相信共享存储在平面文本文件中的数据的工具集

我不确定你说的“项目管理”是指像Make这样的东西,还是指跟踪团队进度的东西。如果您指的是Make之类的东西,那么Unix世界非常需要一个可重用的Make,它支持“智能重新编译”,并且可以与多个编译器一起工作。最接近的是
nmake
,但这并不十分接近

关于更一般的集成工具集

  • 我见过的最好的一套工具是at&T制造的工具。有一本最优秀的书,免费下载,描述了大约1995年的情况。从那时起,工具集变得越来越好、越来越丰富,但要想全面了解到底发生了什么,你真的需要这本书。这些人从贝尔实验室的Unix小组开始,他们创造的与其说是一个工具链,不如说是一种生活方式。乔·鲍勃说去看看

  • 在许多Unix工具链中,另一个普遍存在的元素是(这可能会让您发笑或呕吐)。尽管Emacs Lisp不是任何人最喜欢的编写插件或扩展的方式,但随着时间的推移,纯粹的积累已经使Emacs成为一个非常丰富、功能强大的编程环境,它可以与各种各样的人交流