寻求真正的“工具链” [英] Seeking a true "tool-chain"

查看:87
本文介绍了寻求真正的“工具链”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚刚发布这个问题是对最好的错误跟踪软件的问题的回复...






嗯,一个工具本身就是一个工具。虽然所有的说工具链,但大多数只是意味着一个松散的工具集合。为什么不寻找一个问题跟踪器与其他孩子玩得很好?也就是说,与您的IDE,您的构建工具,您的版本控制系统接口好...



事实上,我想我会去现在问,关于最好的链接工具链的问题...






那么,任何意见?我喜欢在Linux上使用FOSS开发C / C ++的回复(但是不要让你阻止发布基于Windows的答案,如果你认为它woudl帮助别人)。我们不需要一个完整的链,但也许有几组链接工具仍然比链中完全链接更好)



我使用




  • Eclipse - 用于编码和调试,以及
    的插件

    • Doxygen用于自动代码文档

    • 用于静态代码分析的Splint和CppCheck

    • 用于自动测试的CppUnit

    • Bugzilla,


    • Hudson - 对于自动构建,
      的插件

      • Doxygen用于自动代码文档

      • CppCheck用于静态代码分析

      • CppUnit进行自动测试

      • Bugzilla,等等所有用于错误跟踪的

      • 用于版本控制的CVS,Subversion等




    我似乎缺少一个项目管理工具,与工具链中的其他链接我们如何完成它,端到端,并有一个最好的链(或者,至少,一个与最多的链接)?



    编辑:让我们不要忘记需求跟踪和项目规划&跟踪 - 结束编辑



    并且任何人都绘制了各种工具之间的关系(即,哪些接口和哪个方向;哪些可以以导入格式另一个,等)?


    b 我的经验,我发现,试图想出一个确定工具链可能会导致问题。



    最糟糕的一个是,它倾向于强迫人们进入一切看起来像一个钉的方法的项目。也就是说,您已经完成了选择您认为合适的工具的工作,现在您已拥有您的工具套件。



    在我的经验中,很难得到



    我一直在做这项工作超过二十年,一旦这个工具被选中,现在在各种项目,范围从船上海底声纳模拟器,空中交通控制显示系统到直升机控制系统。即使在同一家公司,不同的项目也需要不同的工具集来解决遇到的各种问题。



    您可能会认为一旦选择了工具为特定目的,然后你可以重新使用该工具的所有项目,例如您的BugZilla的选择Bug跟踪。但是,如果没有合适的SMTP服务器可用,因为您有一个分散的团队,您的邮件服务器是内部的,锁定,安全等。



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



    很多东西都会影响你选择的工具。我的头顶有我:




    • 团队的地理分布,

    • 锁定,即没有公共访问,例如,电子邮件,源存储库,测试平台等

    • 必须与某些现有系统接口,因为希望重用该系统的各个方面。

    • 客户坚持使用特定平台,

    • 管理团队为具有需求的新项目



    有不同于常规管理类型报告的上一个管理团队

  • 一套可能性最小化了尝试将正方形钉钉入圆孔的效果。



    无论如何,你可能会发现,一整套的可能性,因为你可以展示一个成功的方法,所以在公司内部获得足够的支持,以支持你以前做过的事情。



    HTH


    I just posted this as part of a reply to a question about the "best" bug-tracking software...


    Well, a tool on its own is just a tool. And while all speak of a toolchain, most just mean a loose collection of tools. Why not look for a problem tracker that "plays well with other children"? That is to say, interfaces well with your IDE, your build tool, your version control system ...

    In fact, I think I'll go now and ask a question about the best linked toolchain ...


    So, any comments? I would prefer replies for developing C/C++ on Linux and using FOSS (but don't let that prevent you posting Windows based answers if you think that it woudl help someone else). We don't need a complete chain, but maybe a few groups of linked tools are still better than totally sepearate "links" in the chain)

    I use

    • Eclipse - for coding and debugging, also its plugins for
      • Doxygen for auto code-documentation
      • Splint and CppCheck for static code analysis
      • CppUnit for automated testing
      • Bugzilla, et all for bug tracking
      • CVS, Subversion, etc, for version control
    • Hudson - for automated builds, with plugins for
      • Doxygen for auto code-documentation
      • CppCheck for static code analysis
      • CppUnit for automated testing
      • Bugzilla, et all for bug tracking
      • CVS, Subversion, etc, for version control

    I seem to be missing a tool for project management which interfaces with other "links" in the toolchain. How complete can we make it, end to end, and is there a "best" chain (or, at least, one with the most links)?

    Edit: Let's not forget requirements tracking and project planning & tracking - end Edit

    And has anyone every diagrammed the relationship between various tools (i.e., which interfaces to which, and in which direction; which can export in thee import format of another, etc)?

    解决方案

    G'day,

    In my experience, I have found that trying to come up with a "definitive" tool chain can cause problems.

    One of the worst is that it tends to force people into the "everything looks like a nail" approach to projects. That is, You've done the work to select the tools you think are suitable and you now have your tool suite.

    In my experience, it is very difficult to get people to change their "canonical set" of tools for other projects once that tool set has been selected and annointed as such.

    I've been doing this for over twenty years now in a variety of projects that ranged from on-board submarine sonar simulators to air-traffic control display systems to helicopter control systems. Even within the same company, different projects need different tool sets to address the various problems that are going to be encountered.

    You might think that once you've selected a tool for a particular purpose then you can re-use that tool for all projects, e.g. your selection of BugZilla for bug tracking. But what if there is no suitable SMTP server available because you've got a distributed team and your mail server is internal, locked down, secure, for example.

    I'd suggest that it would be better to establish a suite of possible tools from which you can select your project's tool suite from. For example, adding Trac or FogBuzz as a possible bug tracking mechanism.

    A lot of things can affect your choice of tools. Off the top of my head I've got:

    • geographical distribution of teams,
    • internal lock down, i.e. no public access, of servers e.g. email, source repository, test platform, etc,
    • having to interface to some existing system because of a desire to reuse aspects of that system, e.g. previous teams had had VisualSourceSafe inflicted upon them,
    • customer insistence on the use of a particular platform,
    • the management team for a new project having requirements that differ from the previous management team for regular management type reports,
    • etc.

    Having a suite of possibilities minimises the effect of "trying to squeeze a square peg into a round hole".

    Anyway, you might find that you're able to trim down your suite of possibilities after a while because you can demonstrate a successful approach and so get enough traction within the company for the support of doing things the way you've previously done them.

    HTH

    这篇关于寻求真正的“工具链”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆