Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Coding style 什么是通用的“干净编码”约定?_Coding Style_Naming Conventions - Fatal编程技术网

Coding style 什么是通用的“干净编码”约定?

Coding style 什么是通用的“干净编码”约定?,coding-style,naming-conventions,Coding Style,Naming Conventions,除了特定于语言的结构之外,对于使用PHP、javascript、java和python编程的人来说,十大干净编码必须做什么?我希望保持我的代码尽可能干净,尽可能可读。例如,将函数体开头括号与函数声明放在同一行与新行相比有什么不同?另外,事物之间的间隔是什么,例如x==10和x==10? 任何关于干净编码的有用提示都将不胜感激 这里有一些可能会有所帮助: 为变量和方法提供直观的名称 使用java语言和C++语言的特定语言编码风格 在括号上使用不同的样式;根据具体情况选择 语言规约 总是对发生的事情

除了特定于语言的结构之外,对于使用PHP、javascript、java和python编程的人来说,十大干净编码必须做什么?我希望保持我的代码尽可能干净,尽可能可读。例如,将函数体开头括号与函数声明放在同一行与新行相比有什么不同?另外,事物之间的间隔是什么,例如x==10和x==10?
任何关于干净编码的有用提示都将不胜感激

这里有一些可能会有所帮助:

为变量和方法提供直观的名称 使用java语言和C++语言的特定语言编码风格 在括号上使用不同的样式;根据具体情况选择 语言规约 总是对发生的事情/原因发表评论。 但不要用注释污染代码。 如果可以,尝试集成设计模式。它有助于重用性 维修 不要把一切都放在一种方法里。每种方法都应该做一件事 而且做得非常好,这也使得该方法更容易阅读/理解/测试/调试 不要把硬编码字符串放在代码中 单独的应用程序数据和应用程序代码。也就是说,尽量不努力 代码的代码配置。 不要试图比编译器更聪明。另一个写代码 人们也可以理解它,让编译器做任何事情 优化 以一种能显示您意图的方式编写代码。写代码保持 7个月后你可能需要调试它, 或者其他人可能需要修复/增强它。这是不可能的 还记得你为什么在7个月后做了什么吗?评论是 很好,但有时还不够好。更不用说那个可怜的家伙了 修复你的代码 我相信还有很多,但我相信这些在任何语言中都是有用的参考:

并检查此响应中的链接:

观看Misko Hevery给谷歌人的干净代码演讲

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

构造函数或at字段声明中的新关键字 在构造函数或at字段声明中调用静态方法 构造函数中的字段赋值以外的任何内容 构造函数完成后对象未完全初始化请注意初始化方法 构造函数中的控制流条件逻辑或循环逻辑 代码在构造函数中构造复杂的对象图,而不是使用工厂或生成器 添加或使用初始化块 违反德米特定律:方法调用链遍历具有多个点的对象图。 添加或使用单例 添加或使用静态字段或静态方法 添加或使用静态初始化块 添加或使用服务定位器 这是一本关于编写干净代码的好书:


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

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

在Java方面,您可以从


考虑到这两本书中的概念是普遍有效的,不应该局限于特定的语言。

对不起,这只会引发宗教战争。没有一种真正的编码方法。特别是在支架定位等方面。通常的规则是遵守你正在进行的项目的标准,当你开始你自己的项目时,做你想做的,但要始终如一是的,在不同语言的编码风格上有共识。这并不是说几十年来人们一直在提倡不同的语言编码标准,但不知何故却忘记了这些标准。-还有其他问题吗?取决于Damien_,这个珍珠的不相信者。静态方法有什么问题吗?同意@BlackBear-你的目标是虚拟方法吗?静态方法没有状态,也没有副作用,应该很容易进行单元测试。事实上,我认为这样的方法是穷人的函数式编程;将对象或值交给该方法,它将返回一个对象或值。没别的了。我根本看不出这样的方法会对单元测试产生什么负面影响。但是你必须看到整个画面…那些调用静态方法的方法呢?如果调用方在另一个类中,那么它们有一个依赖项,需要进行解耦以进行单元测试。记住:静态调用是不可模仿的,并且是不可注入的。本文比我解释得更好,因此int.TryParse C不可能测试和维护?Imho使用注释本身并不是一个干净的代码。代码应该是自解释的,不需要注释。这很有帮助。谢谢我不同意第三点,因为命名良好的方法、变量和单一责任应该可以消除对注释的需要。我只在一些不寻常的东西被入侵时才发表评论——这不应该是真的 发生