您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

编程人员必须遵循的编码规范

时间:2020-06-19 18:07:42  来源:  作者:

编码规范即我们在编写代码时需要遵守的一些规则。好的编码规范可以大大提高代码的可读性和可维护性,甚至提高程序的可靠性和可修改性,保证了代码的质量。特别是在团队开发大型项目时,编码规范就成为了项目高效运作的重要要素。本文将简要介绍在编写C++程序时必须遵循的编码规范。

养成良好的习惯

  • 程序快缩进,要使用Tab键缩进,不能和空格键混合使用。
  • 函数不要太长,如果太长,建议拆分处理。
  • 不要使用太深的if嵌套语句,可以使用函数来代替。
  • 双目操作符号前后加空格,以更加醒目。
  • 单目操作符前后不加空格。
  • 不要使用太长的语句,如果太长,可以分行处理。
  • 每个模板中只有一个类。
  • if、while、for、case、default、do等语句要独占一行。
  • 一行不能写多条语句。
  • 如果表达式中有多个运算符,要用括号标出优先级。

上述建议只是众多风格的主要部分,在实际编写过程中,还需要遵循更多的规范。

必须使用的注释

注释可以帮助阅读程序,通常用于概括算法、确认变量的用途或者阐明难以理解的代码段。注释并不会增加可执行程序的大小,编译器会忽略所有注释。

C++中有两种类型的注释:单行注释和成对注释。单行注释以双斜线(//)开头,行中处于双斜杠右边的内容是注释,被编译器忽略。例如:

//计算m和n的和
z=add(m,n);

另一种定界符:注释对(/**/),是从C语言继承过来的。这种注释以“/*”开头,以“*/”结尾,编译器把落入注释对“/**/”之间的内容作为注释。例如:

/*计算m和n的和
Z只是个简单函数
*/
z=add(m,n);

任何允许有制表符、空格或换行符的地方都允许放注释对。注释对可跨越程序的多行,但不是一定要如此。当注释跨越多行时,最好能直观地指明每一行都是注释的一部分。我们的风格是在注释的每一行以星号开始,指明整个范围是多行注释的一部分。

程序通常混用两种注释形式。注释对一般用于多行解释,而双斜线注释则常用于半行或单行的标记。太多的注释混入程序代码可能会使代码难以理解,通常最好是将一个注释块放在所解释代码的上方。

当改变代码时,注释应与代码保持一致。程序员即使知道系统其他形式的文档已经过期,还是会信任注释,认为它会是正确的。错误的注释比没有注释更糟,因为它会误导后来者。

在使用注释时,必须遵循下述原则。

  • 禁止乱用注释。
  • 注释必须和被注释内容一致,不能描述和其无关的内容。
  • 注释要放在被注释内容的上方或被注释语句的后面。
  • 函数头部需要注释,主要包含文件名、作者信息、功能信息和版本信息。
  • 注释对不可嵌套:注释总是以“/*”开始并以“*/”结束。这意味着,一个注释对不能出现在另一个注释对中。由注释对嵌套导致的编译器错误信息容易使人迷惑。


本文节选自《Visual C++ 开发从入门到精通》



Tags:编码规范   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
缩进使用soft tab(4个空格)。var x = 1, y = 1;if (x < y) { x += 10;} else { x += 1;}单行长度不要超过80,但如果编辑器开启word wrap可以不考虑单行长度。分号以下...【详细内容】
2021-08-13  Tags: 编码规范  点击:(157)  评论:(0)  加入收藏
这份文档是Google Java编程风格规范的完整定义。当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合Google的Java编程风格。与其它的编程风格指南一样,这里所讨论的...【详细内容】
2020-09-25  Tags: 编码规范  点击:(79)  评论:(0)  加入收藏
编码规范即我们在编写代码时需要遵守的一些规则。好的编码规范可以大大提高代码的可读性和可维护性,甚至提高程序的可靠性和可修改性,保证了代码的质量。特别是在团队开发大型...【详细内容】
2020-06-19  Tags: 编码规范  点击:(133)  评论:(0)  加入收藏
Uber是世界领先的生活出行服务提供商,也是Go语言的早期adopter,根据Uber工程博客的内容,大致可以判断出Go语言在Uber内部扮演了十分重要的角色。Uber内部的Go语言工程实践也是...【详细内容】
2019-10-14  Tags: 编码规范  点击:(226)  评论:(0)  加入收藏
欢迎大家关注我,我会不定期分享一些自己觉得比较好的文章给大家。关注+评论,可获取完整 pdf 版《Google Java编程风格规范》 这是Google官方的Java编程风格规范。与其它的编...【详细内容】
2019-07-11  Tags: 编码规范  点击:(445)  评论:(0)  加入收藏
▌简易百科推荐
1. 前言了解响应式编程,首先我们需要了解函数式操作和Stream的操作,下面我们简单的复习一下喽。1.1 常用函数式编程函数式接口中我们先来回顾一下Java中的函数式接口。常见的...【详细内容】
2022-07-15  二哥学Java    Tags:编程   点击:(1)  评论:(0)  加入收藏
在本文中,我们将学习如何使用 Next.js、 Prisma、 Postgres 和 Fastify 构建一个 Full-stack 应用程序。在本文中,我们将学习如何使用 Next.js、 Prisma、 Postgres 和 Fastif...【详细内容】
2022-07-12  qaseven    Tags:全栈   点击:(9)  评论:(0)  加入收藏
好的软件开发网站有哪些?做软件开发哪些网站能提供帮助呢?这些很多做软件开发的小伙伴都会问到的问题。007出海全球社交流量导航网站,整合了多方出海跨境网站资源,为你介绍出海...【详细内容】
2022-07-08  Chuhai007    Tags:软件开发   点击:(10)  评论:(0)  加入收藏
我们用monkey做压力测试后,会保存一个monkey日志,那如果想快速的分析日志中有哪些异常,我们可以用批处理工具进行快速的筛查,我们一起来看看吧。先编写个小脚本,然后修改为bat后...【详细内容】
2022-07-08  溪流涌动    Tags:monkey   点击:(13)  评论:(0)  加入收藏
白盒测试落地实践分为两个大方向,一个是静态分析,一个是动态分析,当然啦,也可以叫做静态测试和动态测试。那我们如何高质量保效率的做好白盒测试呢?Parasoft已经为您准备好了成熟...【详细内容】
2022-07-08  Parasoft中国    Tags:白盒测试   点击:(11)  评论:(0)  加入收藏
Altium Designer 自带脚本功能的开发项目,可以调用官方AD API接口对原理图或者PCB进行自动操作,本文主要分享开发的流程,和一些基本的概念信息,本文介绍的脚本工具例子可以用在P...【详细内容】
2022-07-07  电子工程师伟哥    Tags:Altium Designer   点击:(21)  评论:(0)  加入收藏
一、目录介绍 前置知识点 NIO Netty 的核心组件 Channel Callback Future 和 Promise 事件和 ChannelHandler Hello World二、前置知识点1、NIO首先我们需要回顾一...【详细内容】
2022-07-06  架构师jickly    Tags:聊天系统   点击:(16)  评论:(0)  加入收藏
1.事件流事件流是对事件执行过程的描述,了解事件的执行过程有助于加深对事件的理解,提升开发实践中对事件运用的灵活度。2.捕获和冒泡捕获阶段是【从父到子】的传导过程,冒泡阶...【详细内容】
2022-07-06  金乾坤    Tags:API   点击:(13)  评论:(0)  加入收藏
刷盘策略CommitLog的asyncPutMessage方法中可以看到在写入消息之后,调用了submitFlushRequest方法执行刷盘策略:public class CommitLog { public CompletableFuture<PutMe...【详细内容】
2022-07-06  Java码农之路    Tags:RocketMQ   点击:(16)  评论:(0)  加入收藏
最近读了本好书-《深度学习推荐系统》,读完不觉全身通畅,于是就有了写这篇文章的想法,把自己的理解和总结分享给大家。 本文将按照从算法到工程的顺序,先介绍一下推荐系统整体...【详细内容】
2022-07-05  InfoQ    Tags:推荐系统   点击:(22)  评论:(0)  加入收藏
站内最新
站内热门
站内头条