什么是一些通用的“清洁编码”约定?

时间:2012-04-28 15:39:19

标签: coding-style naming-conventions

除了特定于语言的结构之外,对于使用PHP,javascript,java和python进行编程的人来说,十大清洁编码必须做什么?我希望尽可能保持我的代码尽可能清晰。例如,将函数体开放括号放在与函数声明相对的行上与新行相比是什么?另外,例如(x == 10)vs(x == 10)之间的间距是什么? 任何有用的干净编码提示都将受到赞赏!

3 个答案:

答案 0 :(得分:3)

以下是一些可能会有所帮助的内容:

  1. 为变量和方法提供直观的名称
  2. 使用特定语言编码样式(例如,使用Java和C ++编译) 在括号上使用不同的风格;根据具体情况选择 语言惯例)
  3. 总是评论发生了什么/为什么会发生。
  4. 但不要用评论来污染代码。
  5. 尽可能尝试整合设计模式。它有助于重用 和维护
  6. 不要把所有东西放在一个方法中。每种方法都应该做一个的事情 并且非常好(这也使得该方法更易于阅读/理解/测试/调试)
  7. 不要在代码中放置硬编码字符串
  8. 单独的应用程序数据和应用程序代码。即尽量不要努力 代码的代码配置。
  9. 不要试图比编译器更聪明。编写其他代码 人们也可以理解它,让编译器做任何事情 优化
  10. 以表明您的意图的方式编写代码。编写代码保持  在你的脑后,在7个月内你可能需要调试它,  或其他人可能需要修复/增强它。这是不可能的  记住为什么你在7个月后做了一些事情(评论是  好,但有时不够好)。更别说可怜的家伙了  修复你的代码
  11. 我相信还有更多,但我相信这些在任何语言中都很有用

答案 1 :(得分:2)

参考:

http://misko.hevery.com/code-reviewers-guide/

http://misko.hevery.com/attachments/Guide-Writing%20Testable%20Code.pdf

并查看此回复中的链接:

https://stackoverflow.com/a/10359288/1268570

观看来自Misko Hevery的清洁代码谈话(赠送给Google员工)

http://www.youtube.com/watch?v=wEhu57pih5w&feature=player_embedded

http://www.youtube.com/watch?v=RlfLCWKxHJ0&feature=player_embedded

http://www.youtube.com/watch?v=-FRm3VPhseI&feature=player_embedded

http://www.youtube.com/watch?v=4F72VULWFvc&feature=player_embedded

这些是你应该避免的警告信号:(来自Misko Hevery)

  • 构造函数或字段声明中的新关键字
  • 构造函数或字段声明中的静态方法调用
  • 除了构造函数中的字段赋值之外的任何内容
  • 构造函数完成后对象未完全初始化(注意初始化方法)
  • 构造函数中的控制流(条件或循环逻辑)
  • 代码在构造函数中执行复杂的对象图构造,而不是使用工厂或构建器
  • 添加或使用初始化块
  • Demeter违规法则:方法调用链遍历具有多个点(。)
  • 的对象图
  • 添加或使用单身人士
  • 添加或使用静态字段或静态方法
  • 添加或使用静态初始化块
  • 添加或使用服务定位器

这是一本关于编写干净代码的好书:

http://books.google.com.mx/books/about/Clean_Code.html?id=dwSfGQAACAAJ&redir_esc=y

答案 2 :(得分:0)

我认为答案是没有真正的答案。一个好的规则是坚持一个惯例,这通常是社区已经熟悉的合理惯例。我宁愿建议你有几本书有想法。

对于Java / C ++ / C#/ VisualBasic,您应该阅读

Code Complete: a practical handbook of software construction

在Java方面,您可以从

获得有用的见解

Clean Code: a handbook of agile software craftmanship

考虑到这两本书中的概念具有普遍的有效性,不应受特定语言的约束。