16

您发现发布编码标准的最佳方式是什么?为什么?

4

20 回答 20

11

我们使用我们的代码来记录标准。这与高级/首席工程师的执法一起对我们很有帮助。我们不维护实际文档的原因是因为我们发现没有人阅读它并且它很快就会过时。

恕我直言,证明这一点所需要的只是显示样式/标准的现有代码。

轻装出行!

于 2008-10-07T14:26:36.843 回答
7

如果您在 .NET 中进行开发。我建议使用 StyleCop 来检查您的构建。我还建议使用 ReSharper 和 StyleCop 插件。

使用 ReSharper 和 StyleCop 插件,您会在违反标准的代码下看到红色的“波浪状”线条,一个简单的鼠标悬停就可以解释原因。没有代码审查,没有要维护的文档。

在您的构建过程中使用 StyleCop 将确保所有签入的代码都符合标准。

于 2008-10-07T14:36:20.787 回答
6

在我看来,发布编码标准的唯一有效方法是将其集成到开发人员使用的 ide 中(例如 eclipse 或 idea)。所以新代码将遵循开箱即用的标准,旧代码可以使用 ide 重新格式化。

只有少数开发人员会阅读编码标准,之后会使用它们的人更少……

于 2008-10-07T14:33:13.367 回答
5

如果您指的是样式指南 - Word 文档或 PDF。IMO,这是“一成不变”的东西,但是在每个项目的基础上(如果你看到一些不起作用的东西,为下一个项目修复它,特别是如果它在项目的后期并且你有很多遵循现有样式的代码)。

于 2008-10-07T14:23:48.083 回答
5

我们将它放在 wiki 上,并附有指向代码片段的链接,这很有帮助。

然后,我们在 Eclipse 中设置了一个代码格式化程序,以尽可能接近此编码标准,尽管这对最佳实践编码方法没有帮助。

于 2008-10-07T14:30:56.977 回答
4

每当我负责制定编码标准时,我都会尝试在互联网上找到一个适合我们需求并使用它的好标准。我会采用任何格式,通常是 PDF 或 Word。

重新发明轮子是没有意义的——我不妨利用别人所做的辛勤工作。

于 2008-10-07T14:26:52.630 回答
2

我认为最好的方法是使用 Checkstyle 来强制执行您的编码标准,并确保如果某些代码违反了 checkstyle 规则,则构建会失败。

然后使用代码审查和结对编程,让后辈可以向前辈学习

您还可以设置一个 wiki 页面。

于 2008-10-07T14:31:26.070 回答
2

我们使用以下内容:

  1. 编辑器中的工具/插件(checkstyle、pmd、内部工具)
  2. 构建时间检查会生成报告。
  3. wiki 用于记录代码审查评论
  4. 从 3 开始,我们将“可工具化”的工具重构为内部工具。
于 2008-10-07T16:24:54.110 回答
2

这取决于具体情况:

我在一家只有三个开发人员的小公司工作。在那里,我们刚刚 谈过。如果对编码风格有疑问,这意味着无非就是询问您的共同开发人员。过了一会儿,有人意识到,同样的问题被问了好几次,并在我们的 wiki 中打开了一个编码标准页面。

今天我在一个小型研究实验室工作。在这个特定领域,我们没有正式的编码标准。然而,当我们在团队中工作并定期进行配对会议时,隐含的编码标准似乎不知从何而来。


从一些开发飞机导航系统的朋友那里,我知道他们同意基于以下代码的编码标准

  • 安全和政府限制
  • 来自 QA 部门的需求和投入
  • 如果仍有选择的自由:来自开发人员的意见

该编码标准被记录下来并由 QA 强制执行。

于 2008-10-07T19:07:40.117 回答
2

我们目前在 Wiki 中拥有只有高级开发人员有权编辑的编码标准。然而,就像许多人已经说过的那样,没有人在最初几天后阅读它。我们目前正在尝试将我们的编码标准纳入 .NET 端的 StyleCop。Delphi 的东西有点难,因为我们没有像 StyleCop 这样的 Delphi 框架可供使用。

于 2008-10-07T19:22:35.983 回答
2

我尽一切努力让每个人都能轻松申请:

  • 首先,团队中的每个人都应该同意应用它们
  • 我共享使用过的编辑器的设置(gvim,emacs ...)
  • 我提供带有样板标题的空源文件
  • 我在一张参考表上总结了标准,没有显示规则,而是一段正确格式化为标准化的代码
于 2008-10-11T17:35:16.607 回答
2

我们已执行以下操作来记录我们的编码标准:

  1. 将它们写在一个纯文字文件中。本样式指南的基础是 Sun 编码约定。
  2. 配置 Checkstyle 和 PMD 以遵循这些编码约定,另外为 Eclipse 提供了一个默认工作区,该工作区具有适合定义的 Checkstyle 和 PMD 配置的正确配置。
  3. 在我们的编码约定中添加了三个章节,解释了 Checkstyle、PMD 和 Eclipse 配置完成了样式指南的哪些部分,以便每个架构师都可以修改样式指南以及 Checkstyle、PMD 和 Eclipse 的配置。
  4. 开发了一些小插件,以便通过将 Checkstyle 和 PMD 与我们的插件一起安装,我们由 Checkstyle 和 PMD 定义的编码约定是默认的并且易于选择。

We think that it helps a lot not only to write it down, but to integrate it in the development environment. On the other hand, we do that only for Eclpise, because it is too much to do if you want that for each and every IDE on earth.

于 2008-12-09T20:08:17.690 回答
1

我们的项目主要是在 python 中,所以我们基本上采用了Python Coding Guidelines,在这里和那里改变了一些我们不喜欢的东西,并将它们贴在我们的Trac wiki 上。它在首页上直接链接,以便开发人员知道在哪里可以找到它。到目前为止,它实际上在被跟踪方面做得相当不错!

于 2008-10-07T14:25:12.883 回答
1

代码指南是描述实践的公司范围的文档。它是可用的,并且必须非常严格地遵循。

代码格式标准取决于团队(或项目)成员之间的决定。对于我们的项目,它作为Resharper插件的一组设置保存在 SVN 中。

于 2008-10-07T14:26:10.777 回答
1

对于初始过程,准备一个带有子标题的 wiki 有助于收集来自不同开发人员的意见。一旦收集了反馈,就可以对其进行整理和“发布”。

更新:

几年过去了,Google Docs 现在充当了一种 wiki。

于 2008-10-07T14:26:39.480 回答
1

我通过以下方式记录代码标准:

  • 最重要的一般风格的结构(如缩进,换行,大括号,......)
  • 到不太明显的细节(之前/之后的空间()
  • 代码示例
  • 设置描述以配置 Eclipse 代码格式化程序
  • 散文
于 2008-10-07T14:26:52.617 回答
1

当我管理一个小团队时,我们的“编码标准”是 CVS 上的一个包装脚本,当您签入代码时,它会在您的代码上运行缩进(带有团队范围的 rc 文件)。

于 2008-10-07T14:28:22.877 回答
1

用于管理更改的带有 SVN 的内部网站。团队始终可以在线获得“最新”。

于 2008-10-07T14:28:48.930 回答
1

我们从繁琐且容易过时的 Word 文档迁移到

  • 带有标准和示例的 Wiki 页面
  • 在 CI 过程中运行的自动编码标准验证工具

注意我们还有一个客户端,除了在 CI 周期中构建本身之外,它不使用运行任何东西。他们将规则保留在 ReSharper 中,并对结果非常满意

于 2008-10-07T15:07:17.323 回答
1

如果您使用的是 Eclipse,则可以使用格式化程序(Preferences->Java->Code Style->Formatters)在保存源文件时自动格式化代码。我们只是在我们的 wiki 上提供了我们公司的格式化程序,每个人都将它导入 Eclipse。

格式化程序很酷的一点是,您可以决定要使用哪一个,这样您就可以拥有不同格式的不同项目。但是,我们通常只使用一种格式,因此我们的代码在所有项目中都是统一的。

于 2008-10-07T15:48:06.227 回答