升压宣传 - 帮助需要 [英] Boost advocacy - help needed

查看:148
本文介绍了升压宣传 - 帮助需要的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


  

可能的重复

  有什么理由不使用升压?

  <一href=\"http://stackoverflow.com/questions/125580/what-are-the-advantages-of-using-the-c-boost-libraries\">What使用的是C ++ Boost库的优势是什么?


OK,高层次的问题是请为我提供你认为什么是为什么整个升压最有效的参数,或者它的某些特定部分,应该是我们公司的系统上编译和软件工程标准认可。

详情我需要什么:


  • 非常乐意接受这两个我都听见积极的辩论(为什么安装),以及对可能反驳提出反驳(见下面的问题上下文)。


  • 参数应同时针对技术软件工程团队成员和/或非常技术高级管理人员 - 换言之,对于后者,争论的细节可能/应技术,但争论的要点应该是怎么会这样化妆/保存的X公司的钱VS失去了Y公司的钱,因为它加入到我们的工具集的成本。


问题的语境:


  • 我在一个公司,拥有数百位开发人员的开发者,其中不乏dosens做C ++。


  • 我从我心爱的Perl开发当场被重新分配到一个团队里,我也是做C ++开发(MIS)的财富。到目前为止,我发现很多东西,我可以很容易地在Perl中做到这一点是很难/繁琐的C ++做++(foreach循环为例),并随时我打了其中的一个,答案50%可能最终被你做不到这一点在标准C ++,但是你可以用升压做


  • 我们的工具箱包括一些遗留RogeWave库和Boost库的数量非常有限(例如,没有正则表达式,没有任何的foreach),很旧的老式的。


  • 任何发展必须使用软件工程团队编译和审核库。这是一个硬性规定。


  • SE队是增加新的库,对于各种原因(例如,为了做到这一点有所抗性;与RogeWave功能的冲突,例如用于正则表达式;安装和使用的任何新的软件的风险;成本教育开发人员等)。他们将添加库如果$ P $有足够的业务需求或majorly令人信服的成本/效益比的说法psented,但他们有pretty艰难的门槛。


所以,我找实例,其中升压的部分是如此美妙(包括确切的成本/收益估算值),安装起来会是一个很明显值得IT工作的软件工程。

先谢谢您的任何意见/建议/例子。

我要寻找的答案衡量,而不仅仅是精彩的感受,请不要标记这个问题为主观:)


解决方案

无论我在过去十年的工作,当他们有他们自己的智能指针类,我发现在错误 - 通常在几个星期。而且,不,我从来没有去,看着它希望能找到错误。

我坐上从的 TR1智能指针的建议


  

升压开发者发现了一个共享所有权的智能指针极其困难的正确实施。其他人也犯了同样的观察。例如,斯科特迈尔斯[Meyers01]说:


  
  

    

的STL本身没有包含引用计数智能指针,写一个很好的 - 一个正常工作所有的时间 - 足够棘手,你不希望,除非你要做到这一点,我出版了code代表一个引用计数的更有效的C ++在1996年的智能指针,尽管立足其上建立的智能指针实现并提交给广泛的pre-出版由经验丰富的开发人员审查,有效的bug报告的小游行有在流淌多年。微妙的方式,其中引用计数智能指针可以失败是了不起的数字。


  

这再加上我平时发现让我结合升压库到code基地的工作的bug(S)的详细分析。 :)

Possible duplicates
Is there a reason to not use Boost?
What are the advantages of using the C++ BOOST libraries?

OK, the high-level question is "Please provide me with what you consider to be the most effective arguments of why entire Boost, or some specific parts of it, should be compiled on our company's system and endorsed in software engineering standards".

Details of what I need:

  • Would gladly accept both positive arguments (why install), as well as proposed rebuttals of likely counter-arguments I might hear (see question context below).

  • Arguments should be made aimed at both technical Software Engineering team members and/or very technical senior managers - in other words, for the latter, the details of the argument may/should be technical, but the thrust of the argument should be "how would this make/save the company X money vs losing the company Y money as a cost of adding it to our toolset".

Context of the question:

  • I'm a developer in a company with several hundred developers, many dosens of whom do C++.

  • I had the (mis)fortune of being reassigned from my beloved Perl development spot to a team where I am also doing C++ development. So far I found numerous things that I could easily have done in Perl that are very hard/cumbersome to do in C++ (foreach loop as an example), and anytime I hit one of these, the answer 50% likely ends up being "You can't do this in standard C++ but you can do it with Boost"

  • Our toolkit includes some legacy RogeWave libraries, and VERY limited number of Boost libraries (e.g. no regex, no foreach), of very old vintage.

  • Any development must use libraries compiled and vetted by Software Engineering team. That is a hard and fast rule.

  • SE team is somewhat resistant to adding new libraries, for a variety of reasons (e.g. effort to do this; functionality conflicts with RogeWave, for example for RegEx; the risk of installing and using any new software; cost of educating developers, etc...). They will add the libraries if presented with sufficient business need or majorly convincing cost/benefit ratio argument, but they have pretty tough threshold.

So, I'm looking for examples of which parts of Boost are so wonderful (with exact cost/benefit estimates) that installing them would be an Obviously Worth It Effort for Software Engineering.

Thanks in advance for any ideas/suggestions/examples.

Please don't mark this question as subjective as I am looking for measurable answers, not merely wonderful feelings :)

解决方案

Wherever I worked in the last decade, when they had their own smart pointer class, I found bugs in that - usually within a few weeks. And, no, I never went and looked at it hoping to find errors.

I got into the habit of posting the following quote from the TR1 smart pointer proposal:

The Boost developers found a shared-ownership smart pointer exceedingly difficult to implement correctly. Others have made the same observation. For example, Scott Meyers [Meyers01] says:

"The STL itself contains no reference-counting smart pointer, and writing a good one - one that works correctly all the time - is tricky enough that you don't want to do it unless you have to. I published the code for a reference-counting smart pointer in More Effective C++ in 1996, and despite basing it on established smart pointer implementations and submitting it to extensive pre- publication reviewing by experienced developers, a small parade of valid bug reports has trickled in for years. The number of subtle ways in which reference-counting smart pointers can fail is remarkable."

This plus a detailed analysis of the bug(s) I found usually got me the job of incorporating the boost libs into the code base. :)

这篇关于升压宣传 - 帮助需要的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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