Coding style 除此之外;“将警告视为错误”;以及修复内存泄漏,作为编码标准的一部分,我们还应该实施哪些其他想法?

Coding style 除此之外;“将警告视为错误”;以及修复内存泄漏,作为编码标准的一部分,我们还应该实施哪些其他想法?,coding-style,warnings,Coding Style,Warnings,首先让我说,我不是一个编码员,但我帮助管理一个编码团队。团队中没有人有超过5年的工作经验,他们中的大多数人都只在这家公司工作过。。因此,我们的飞行有点盲目,这就是问题所在 我们正在努力使我们的软件更加稳定,并希望实现一些“最佳实践”和编码标准。最近,我们开始非常认真地对待这一点,因为我们确定,我们产品中的许多不稳定性可能与我们允许在编译时无需修复警告的事实有关。我们也从未认真考虑过内存泄漏问题 在阅读本网站的过程中,我们现在正在与我们的团队一起快速解决这个问题,但它回避了一个问题:我们可以在团队

首先让我说,我不是一个编码员,但我帮助管理一个编码团队。团队中没有人有超过5年的工作经验,他们中的大多数人都只在这家公司工作过。。因此,我们的飞行有点盲目,这就是问题所在

我们正在努力使我们的软件更加稳定,并希望实现一些“最佳实践”和编码标准。最近,我们开始非常认真地对待这一点,因为我们确定,我们产品中的许多不稳定性可能与我们允许在编译时无需修复警告的事实有关。我们也从未认真考虑过内存泄漏问题

在阅读本网站的过程中,我们现在正在与我们的团队一起快速解决这个问题,但它回避了一个问题:我们可以在团队范围内实施哪些其他实践来帮助我们


编辑:我们在C++中使用相当复杂的2D/3D图形软件,即跨平台的Mac/Windows。TDD有助于在开发阶段检查逻辑错误。

有很多顾问/公司都有编码规则向您推销,您应该很容易找到。然而,一个没有首先询问你所在领域的人(你在问题中没有提到)正在为你提供蛇油。

通常,编码标准/过程的精度/精确性水平与所需的安全水平直接相关。例如,如果你在航空航天领域工作,你几乎可以控制一切。但是,另一方面,如果你在一个电脑游戏论坛网站上工作……如果有什么东西坏了,没什么大不了的。你可以喝一杯。所以YMMV,取决于你的领域

关于编码的经典书籍是史蒂夫·麦康奈尔的《代码完成》第二版。拥有一份团队副本&强烈建议您的开发人员购买(或让公司为他们购买)。这可能会解决70%的文体问题。CC解决了大多数开发案例

编辑:

图形软件,C++,Mac/WINDOWS 由于您正在进行跨平台工作,我建议您在Mac(10.4(可能)、10.5、10.6)和Windows(XP(可能)、Vista、7)上使用自动“签入时编译”过程。这确保了您的软件至少可以编译,并且您知道什么时候不能编译

您的源代码管理(我假设您正在使用)应该支持分支,并且您的分支策略也可以反映跨平台性。拥有主线分支、开发分支和实验分支也很有利。YMMV;您可能需要对此进行反复讨论,并咨询熟悉配置管理的人员

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

关于C++,有效的C++,更有效的C++,有效的STL(所有的Scott Meyers)应该在某人的架子上,也可以是Andrescu的现代C++。你可能会发现Lippman的C++模型模型的书也很有用,我不知道。
HTH.

这篇博客文章描述了许多常见的实践。这些是您的团队面临的一些潜在问题。它包括对每种语言的“最佳实践”的快速解释。

您没有提到任何语言,虽然大多数编码标准都是独立于语言的,但它也将帮助您进行搜索。在我工作过的大多数公司中,他们对不同的编程语言有不同的编码标准。因此,我的建议是:

  • 选择你的语言
  • 搜索网页,因为你的语言有很多标准
  • 收集你找到的所有标准
  • 将您的团队分成小组,并向他们提供一些要分析的文档。他们应该在新标准中列出他们认为值得拥有的东西
  • 召开一次会议,让每个小组向每个人展示他们的发现(小组之间会有很多冗余)。这应该是一次公开讨论,每个人的意见都应该得到考虑
  • 编制一份由大多数编码人员选择的标准列表,这应该是您的出发点
  • 每半年对标准进行一次审查,以添加或删除内容

现在,这背后的逻辑是:从头开始制定编码标准的大部分问题是开发人员的接受。我们每个人都有一种做事的方式,当外界的人认为一种做事方式比另一种更好时,我们会觉得很糟糕。因此,如果开发人员理解编码标准的逻辑和目的,那么您就完成了一半的工作。另一件事是,标准应该是专门为公司的需要而设计和创建的。有些事情是有道理的,有些是没有道理的。使用上述方法,您可以区分这些。另一件事是,标准应该能够随着时间的推移而改变,以反映公司的需要,因此编码标准应该是一个动态的文档。

让每个人都阅读并讨论各种标准和指南。我(和斯特劳斯特鲁普一样)建议。请您的开发人员将其中的指南分类为

  • 已经遇见
  • 易于满足(与当前条件相比变化不大)
  • 应该朝着旧代码的方向努力,并遵循新的开发
  • 不值

<> P>有一个长期的技术讨论,并在一个团队中采纳。

< P>当你加入编码标准/最佳实践时,首先要考虑的是它对你团队的士气和凝聚力的影响。开发者通常