【发布时间】:2009-09-17 06:36:24
【问题描述】:
可能重复
Is there a reason to not use Boost?
What are the advantages of using the C++ BOOST libraries?
好的,高级问题是“请向我提供您认为最有效的论据,说明为什么整个 Boost 或它的某些特定部分应该在我们公司的系统上编译并在软件工程标准中得到认可”。
我需要的详细信息:
很乐意接受正面的论点(为什么要安装),以及对我可能听到的可能的反论点提出的反驳(请参阅下面的问题上下文)。
应针对技术软件工程团队成员和/或非常技术高级管理人员提出论点 - 换句话说,对于后者,论点的细节可能/应该是技术上,但争论的主旨应该是“这将如何让 X 公司赚钱/节省钱,而不是把 Y 公司的钱作为将其添加到我们的工具集的成本”。
问题背景:
我是一家拥有数百名开发人员的公司的开发人员,其中许多人使用 C++。
我有幸(不幸)从我心爱的 Perl 开发地点重新分配到我也在从事 C++ 开发的团队。到目前为止,我发现了许多我可以在 Perl 中轻松完成的事情,而这些事情在 C++ 中非常难以/繁琐(例如 foreach 循环),并且每当我遇到其中之一时,50% 的答案很可能最终是“你在标准 C++ 中无法做到这一点,但您可以使用 Boost 做到这一点”
我们的工具包包括一些遗留的 RogeWave 库,以及数量非常有限的非常古老的 Boost 库(例如,没有 regex,没有 foreach)。
任何开发都必须使用软件工程团队编译和审查的库。这是一个硬性规定。
SE 团队出于各种原因(例如,努力做到这一点;与 RogeWave 的功能冲突,例如 RegEx;安装和使用任何新软件的风险;成本教育开发人员等...)。如果有足够的业务需求或主要令人信服的成本/收益比参数,他们会添加库,但他们有相当严格的门槛。
因此,我正在寻找 Boost 的哪些部分非常出色(具有准确的成本/收益估算)以致于安装它们对于软件工程来说显然是值得付出的努力的示例。
提前感谢您提供任何想法/建议/示例。
请不要将此问题标记为主观,因为我正在寻找可衡量的答案,而不仅仅是美妙的感觉:)
【问题讨论】: