文档章节

程序员要遵守的一些优秀编程风格

骑行远方
 骑行远方
发布于 2015/04/23 21:30
字数 1064
阅读 473
收藏 26

无论你是业余的还是专业的程序员,正确的编程风格,不但有助于提升软件产品的功能,还可以明显减少软件灾难的产生。今天,我们就来探讨一下有助于我们获取更佳编程风格的一些最好的规则。

  代码的可读性至上

  代码要能可阅读和可理解,就需要格式化成一致的方式。对函数和变量的命名应有意义,注释的表达应该简洁而准确。并且,准确地记录代码中所有棘手的部分是十分重要的。你必须清楚软件程序为什么能工作以及为什么能在所有可能的情况下顺利工作的原因。

  遵循正确的命名约定是必须的

  当需要给类、函数和变量命名时,你需要遵循以下指南:

  1. 确保特定类名的第一个字母大写;

  2. 使用大小写分离多个单词的命名;

  3. 大写常数名,并使用下划线分离单词;

  4. 确保特定功能和变量名的第一个字母小写;

  5. 注意正确使用缩写。例如,用 max 而不用 maximum。

  必要时可使用空格

  虽然空格对编译器是没有意义的,但是可用于提高代码的可读性。举个例子,你可以在函数间留三个空行。你还可以在函数内使用单独的空行用于分离关键的代码段。

  确保代码有一定的可维护性

  我们需要确保写出来的代码,换成另一个程序员来调整功能、修复 bug,也是明确易懂的。要将函数中关键值用常量来标记,这样我们就可以随时根据需要来改变这些常量值。总而言之,代码必须坚固,能够处理任何类型的输入,然后在不崩溃的前提下,提供预期结果。

  注释必须易于理解

  注释应该是有意义的,能够清晰地解释所有关于软件程序的内容。注释的数量多少无所谓,质量才是关键。你需要使用/ *注释* /的风格来写注释,以确保位于每个源文件的顶部。此外,你也可以选择在注释中包括你的名字,编写代码的日期,以及简明扼要地说明程序的实际用途。不过,你可以选择省略一些功能明显的注释。你需要遵循的行内注释格式为//注释。

  正确使用函数

  每一个函数所包含的代码片段,必须既短又能够完成特定的任务。不妨将函数当作是“黑盒子”——独立,又可以有效处理任何类型的输入。不要忘记这样一条经验规则——即所谓的“Ten Line Rule”,也就是说,一个函数,通常说来,如果超过 10 行,那就需要以最精炼的方式去简化。并且,任何重复性的代码片段都应该被设置为一个单独的函数。上述做法不但可缩短程序的长度,还能大大提高其可读性。

  整齐的代码缩进

  缩进在软件程序的流程控制上起着至关重要的作用。每一个新的 while、for、if 语句,以及 switch 结构,都需要缩进代码。这也可用于一行语句中括号已被省去的情况。例如,假设有 if 语句,那么相应 else 语句必须一齐缩进。

  结束语

  如果你熟悉了这些正确的编程风格,那么编写软件程序就会成为一个非常有趣的活动。最后希望本文能对各位有所裨益。如有不同见解,欢迎一起探讨。

  译文链接:http://www.codeceo.com/article/programming-style.html

       博客园原文链接:http://news.cnblogs.com/n/519537/

本文转载自:http://news.cnblogs.com/n/519537/

骑行远方
粉丝 1
博文 28
码字总数 9536
作品 0
苏州
程序员
私信 提问
代码规范的重要性之-为什么谷歌要执行严格的代码编写规范

我们在谷歌所做事情中另外一个让我感到异常有效、有用的制度是严格的编码规范。 在到Google工作之前,我一直认为编码规范没有什么用处。我坚信这些规范都是官僚制度下产生的浪费大家的编程时...

秦都李先生
2014/08/07
2.5K
1
编码风格不是编码规范

我并不认为程序员是一个情绪特别丰富的群体。但有一些事情却能很容易刺激程序员的神经,那就是代码格式和布局。如果看到一个函数的括弧在同一行上没有闭合,我的眼睛会喷血。如果看到有人没有...

oschina
2013/07/01
4.2K
20
编码规范是技术上的遮羞布

每个程序员都知道,在一个软件公司里,你需要有一套严谨的编码规范。每个程序员也都知道,为了能按自己的编程习惯制订这套规范,每个程序员都在而抗争。刚进入一个新公司时,每个程序员都会内...

oschina
2013/07/10
5.9K
60
请给代码多留一些空间

最近在几个不同的团队中发现他们的编码规范中对空格的用法大不相同。这激起了我的好奇心,因为我一直觉得,对于代码格式中的空格的使用,应该有一个大家都公认的最好的习惯。但是在现实开发中...

oschina
2014/06/09
7.1K
46
避免成为优秀程序员

我曾经和我认为优秀的程序员一起工作,但是他们是真正优秀的程序员吗?是什么让他们如此优秀?(或者,他们只是普通的程序员?) 最近读到Mark Pearl博客里一篇名为《Programming, a Subset...

oschina
2016/07/25
7.9K
25

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二)

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二) List 类型的操作 1、 向列表左侧添加数据 Long leftPush = redisTemplate.opsForList().leftPush("name", name); 2、 向列表右......

TcWong
今天
4
0
排序––快速排序(二)

根据排序––快速排序(一)的描述,现准备写一个快速排序的主体框架: 1、首先需要设置一个枢轴元素即setPivot(int i); 2、然后需要与枢轴元素进行比较即int comparePivot(int j); 3、最后...

FAT_mt
昨天
4
0
mysql概览

学习知识,首先要有一个总体的认识。以下为mysql概览 1-架构图 2-Detail csdn |简书 | 头条 | SegmentFault 思否 | 掘金 | 开源中国 |

程序员深夜写bug
昨天
10
0
golang微服务框架go-micro 入门笔记2.2 micro工具之微应用利器micro web

micro web micro 功能非常强大,本文将详细阐述micro web 命令行的功能 阅读本文前你可能需要进行如下知识储备 golang分布式微服务框架go-micro 入门笔记1:搭建go-micro环境, golang微服务框架...

非正式解决方案
昨天
8
0
前端——使用base64编码在页面嵌入图片

因为页面中插入一个图片都要写明图片的路径——相对路径或者绝对路径。而除了具体的网站图片的图片地址,如果是在自己电脑文件夹里的图片,当我们的HTML文件在别人电脑上打开的时候图片则由于...

被毒打的程序猿
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部