如何找出可接受的编码风格

时间:2008-10-24 10:04:43

标签: formatting coding-style

在哪里阅读(最佳实践)源代码格式,对于单个语言,即命名变量等的约定,缩进和放置括号的位置,包含注释的方式和位置等。

例如C Kernighan和Ritchie的书The C Programming Language和Linus Torvalds'Linux kernel coding style guideGoogle's C++ Style Guide以及至少Perl perlstyle - Perl style guide

编辑:也许我应该问“如何从编码风格开始”。

9 个答案:

答案 0 :(得分:3)

我不会对这种风格指南给予太多关注。它们是一个良好的开端,但最终您或您的团队将开发自己的编码风格。

编辑:Rob Kam发表评论,他希望了解更多有关这些“起始约定”的信息。

这是一个好点。但是,大多数情况下,您将加入现有项目,开源项目或商业项目,并且在其上工作的人员已经拥有代码约定。在公司中可能已存在代码约定。如果你开始一个新项目,先从你之前做过的另一个项目的约定开始。

如果您真的使用之前没有使用的新语言开始一个新项目...那么您可能会从另一种语言的约定开始,这种语言在某种程度上是相似的(即对于一种新的oo语言,您可以使用来自Java的约定或者Smalltalk)并在您获得新语言经验时调整您的约定。当我开始使用Java编程时,我使用了Pascal编码约定。一些pascal约定对Java不起作用,但随着时间的推移我删除了一些旧的约定并开发了新的约定。

S.Lott有想法研究用您选择的语言编写的开源项目。获得一些关于良好惯例的建议是个好主意。 Srikanth有一个好主意,可以在Stackoverflow上寻求好的约定。这是一个非常好的主意,因为随着时间的推移,Stackoverflow将以这种方式成为编码约定的良好参考。

答案 1 :(得分:1)

比书更好的方法是找到您首选语言的开源代码。

工作源代码是一个符合高度发展的社区标准的社区项目,而不是一本书 - 一些作者和编辑的工作。

当客户要求帮助编写标准时,我更愿意找到一个好的开源项目,并提供一个简短的标准文档,说“让它看起来像xxx”。我用于Java风格的一个很好的例子是Apache Ant项目。

每个人都有自己喜欢的开源示例项目。阅读一些真实的,有效的代码,并选择一个喜欢的。模仿该项目。

答案 2 :(得分:1)

我会使用谷歌。例如,要搜索Java编码指南,我将使用this query或在Stack Overflow中发布,并询问推荐的Java编码标准指南是什么。所有语言都很难指向单一来源。

我建议你为你的公司/项目选择一个并坚持下去并确保它是一个很好的标准。

答案 3 :(得分:1)

如果您担心代码风格问题,我建议您阅读叔叔bob的Clean Code

答案 4 :(得分:1)

有三个好看的地方。

  1. 关于您正在使用的语言的热门书籍。
  2. 用您的语言编写的开源项目。
  3. 您的语言的Checkstyle类型实用程序。

如果您使用Checkstyle或PMD等工具,请注意他们执行的许多“规则”可能会引起争议。 check the documentation找出哪些规则需要警惕可能会有所帮助。

答案 5 :(得分:1)

Microsoft has a reference document及其编码约定,即使您不使用C#,也可能有用。除了样式和基本约定之外,其他人推荐的最佳实践书籍,如Clean Code,是创建可维护,可读代码的基本读物,对代码库的未来维护者有意义。

如果您正在使用Visual Studio(以及其他一些现代IDE),则会自动强调与推荐约定的基本不一致性(有关在最新版本的VS中悬停的建议)。在VS中,如果您的团队想要使用不同的标准,只需打开项目属性并更改“代码分析”(最后左侧菜单项)的设置。 更多信息:Using Rule Sets to Group Code Analysis Rules

答案 6 :(得分:0)

你好,大家好日子

我必须说这取决于 这取决于你是否为公司工作 或者如果你为你工作;)

如果您在公司工作,您可以接受命名方式和其他规则

对你而言,你只需要建立一种风格,包括你自己在内的每个人都可以立即了解什么以及如何

括号和其他是你的方式

但正如你所说,有个别语言,所以他们有自己的规则

和Mnementh一样,每个团队都有一种编码可能是严格或自由的方式

多数民众赞成 没有...... 再见

答案 7 :(得分:0)

还有C and C++ style guides,这是由Christopher Lott维护的USENET风格指南,编码规则和讨论的简短链接。

答案 8 :(得分:0)

如果您是 PHP 开发人员,这两本指南不容错过:

相关问题