除了"将警告视为错误"并修复内存泄漏之外,我们还应该将其他想法作为编码标准的一部分来实现?

11 warnings coding-style

首先让我说,我不是编码员,但我帮助管理编码团队.团队中没有人拥有超过5年的经验,而且他们中的大多数人只为这家公司工作过..所以我们有点盲目,所以问题.

我们正在努力使我们的软件更加稳定,并且正在寻求实施一些"最佳实践"和编码标准.最近我们开始非常认真地对待这一点,因为我们确定我们产品中的大部分不稳定性可以与我们允许警告在编译时无需修复的事实相关联.我们也从不打扰认真对待内存泄漏.

在阅读本网站时,我们正在迅速解决我们团队的这个问题,但它引出了一个问题,我们可以在团队范围内实施哪些其他实践来帮助我们?

编辑:我们做了相当复杂的2D/3D图形软件,它是C++中的跨平台Mac/Windows.

Pau*_*han 10

通常,编码标准/过程中的精确度/严格程度直接与所需的安全级别相关联.例如,如果你在航空领域工作,你将严格控制几乎所有东西.但是,另一方面,如果你正在开发一个电脑游戏论坛网站...如果有什么东西坏了,没什么大不了的.你可以有slop.所以YMMV,取决于你的领域.

关于编码的经典着作是Steve McConnell编写的Code Complete第2版.拥有团队副本并强烈建议您的开发人员购买(或让公司为他们获取).这将满足大约70%的风格问题.CC解决了大多数开发案例.

编辑:

图形软件,C++,Mac/Windows.

由于您正在进行跨平台工作,建议您为Mac(10.4(可能),10.5,10.6)和Windows(XP(可能),Vista,7)进行自动"check-on-checkin"处理.这可以确保您的软件编译最少,而且您知道什么时候不编译.

您的源代码控制(我正在使用,我认为)应支持分支,您的分支策略也可以反映跨平台性.拥有主线分支,开发分支和实验分支也是有利的.因人而异; 您可能需要对此进行迭代,并咨询熟悉配置管理的人员.

因为它是C++,你可能想要运行Valgrind或者类似的,知道是否存在内存泄漏.你可以得到一些静态分析器:我不知道它们在现代C++习语中的效果如何.您还可以投资编写一些包装器来帮助观察内存分配.

关于C++ ......有效的C++,更有效的C++和有效的STL(全部来自Scott Meyers)应该放在某人的架子上,以及Andrescu的Modern C++.你可能会发现Lippman关于C++对象模型的书很有用,我不知道.

HTH.


Pas*_*uoq 6

有很多顾问/公司有编码规则可以卖给你,你应该没有困难找到一个.但是,一个不首先问你所在领域的人(你在问题中没有提到它)就是为你提供蛇油.

  • @Daniel:有一个完美的感觉.Web设计规则与嵌入式规则不同. (2认同)