Coding style 您如何记录您的编码标准?
您发现发布您的编码标准的最佳方式是什么?为什么?如果您指的是样式指南-Word文档或PDF。在我看来,这是“一成不变”的,但以每个项目为基础(如果你看到一些不起作用的东西,请在下一个项目中修复它,特别是在项目后期,并且你有大量遵循现有风格的代码的情况下)。我们的项目主要使用python,因此我们基本上采取了,改变了一些我们不喜欢的东西,把它们贴在我们的维基上。它链接在首页上,这样开发者就知道在哪里可以找到它。到目前为止,它实际上做了一个相当不错的被跟踪的工作 准则指南是一份描述实践的公司范围内的文件。它是可用的,必须严格遵守Coding style 您如何记录您的编码标准?,coding-style,standards,Coding Style,Standards,您发现发布您的编码标准的最佳方式是什么?为什么?如果您指的是样式指南-Word文档或PDF。在我看来,这是“一成不变”的,但以每个项目为基础(如果你看到一些不起作用的东西,请在下一个项目中修复它,特别是在项目后期,并且你有大量遵循现有风格的代码的情况下)。我们的项目主要使用python,因此我们基本上采取了,改变了一些我们不喜欢的东西,把它们贴在我们的维基上。它链接在首页上,这样开发者就知道在哪里可以找到它。到目前为止,它实际上做了一个相当不错的被跟踪的工作 准则指南是一份描述实践的公司范围内的
代码格式标准由团队(或项目)成员决定。对于我们的项目,它作为插件的一组设置保存在SVN中。我们使用代码来记录标准。这与高级/首席工程师的强制执行一起,对我们非常有效。我们不维护实际文档的原因是因为我们发现没有人阅读它,而且它很快就会过时 IMHO证明这一点所需要的只是现有代码,它显示了样式/标准
轻装旅行 对于最初的过程,一个带有子标题的wiki对于收集不同开发人员的意见非常有用。一旦收集到反馈,就可以整理并“发布” 更新:
几年过去了,Google Docs现在成为了一种wiki。我通过以下方式记录代码标准:
- 最重要的常规样式的结构(如缩进、换行、大括号等)
- 不太明显的细节(在
或之前/之后的空格(
))
- 代码示例
- 设置说明以配置eclipse代码格式化程序
- 普罗萨
重新发明轮子是没有意义的——我还可以利用其他人所做的艰苦工作。当我管理一个小团队时,我们的“编码标准”是CVS上的一个包装脚本,在您签入代码时在代码上运行缩进(带有团队范围的rc文件)。一个拥有SVN的内部网站,用于管理更改工作。“最新版本”始终可供团队在线使用。我们将其放在wiki上,并链接到代码片段,这会有所帮助
然后,我们在Eclipse中设置了一个代码格式化程序,使其尽可能与此编码标准相匹配,尽管这对最佳实践编码方法没有帮助。我认为最好的方法是使用Checkstyle强制执行您的编码标准,并确保在某些代码违反Checkstyle规则时生成失败 然后使用代码检查和结对编程,以便低年级学生可以向高年级学生学习
您还可以设置wiki页面。我认为发布编码标准的唯一有效方法是将其集成到开发人员使用的ide中(例如eclipse或idea)。因此,新代码将遵循开箱即用的标准,旧代码可以使用ide重新格式化
只有很少的开发人员会阅读编码标准,很少有人会在以后使用它们…如果您是在.NET中开发的话。我建议使用StyleCop检查您的构建。我还建议使用ReSharper和StyleCop插件 使用ReSharper和StyleCop插件,你会在代码下看到红色的“扭曲”线条,这是违反标准的,一个简单的鼠标可以解释原因。没有代码审查,也没有要维护的文档
在构建过程中使用StyleCop将确保签入的所有代码都符合标准。我们不再使用Word文档,因为Word文档被证明很麻烦,而且很容易过时
- 包含标准和示例的Wiki页面
- 在CI过程中运行的自动编码标准验证工具
N.B.此外,我们还有一个客户机,除了在CI周期中运行构建本身之外,不使用任何其他功能。他们将规则保存在ReSharper中,并对结果非常满意如果您使用Eclipse,则可以使用格式化程序(首选项->Java->代码样式->格式化程序)在保存源文件时自动格式化代码。我们只需在wiki上提供公司的格式化程序,每个人都将其导入Eclipse 格式化程序最酷的一点是,您可以决定要使用哪一个,这样您就可以拥有具有不同格式的不同项目。但是,我们通常只使用一种格式,因此我们的代码在所有项目中都是统一的。我们使用以下格式:
这取决于具体情况: 我在一家只有三名开发人员的小公司工作。好了,我们只是 谈出来了。如果您对编码风格有疑问,这只意味着询问您的合作开发人员。过了一会儿,有人意识到,同样的问题被问了好几次,并在我们的维基上打开了一个编码标准页面 今天我在一个小型研究实验室工作。在这个特定领域,我们没有 正式编码标准。然而,由于我们在团队中工作,并且定期进行结对会议,因此 隐式编码标准似乎无中生有
从一些开发飞机导航系统的朋友那里,我知道 他们同意基于
- 安全和政府限制