好的编程风格

1。关键字 if, while, for 后有一个空格

2。=号之类的双目运算符两侧都有空格

3。后缀运算符和操作数之间不加空格 例如 s.a , foo(argu) , a[i]

4。, 号和 ; 号之后要加空格,例如 foo(argu1, argu2) for (i=0; i<20; i++)

5。关于双目运算符两侧加空格可以灵活规定,例如 distance = sqrt(x*x + y*y),突出结合方式

6。如果程序需要换行,则要与上一行的表达式对齐 foo(sqrt(x*x + y*y))

                                                                          a[i-1] + b[i-1] + c[i-1])

7。较长的字符串可以段成多个字符串,并且要对齐

       printf(“This is such a long stenance that”

                  "it can not be leld\n”);  这个 print函数中的字符串就跟一个是一样的

8。有的人喜欢在变量定义语句中使用 Tab 字符,使变量名对齐。

      int            a, b;

      double    c;

9。关于缩进的规则 建议使用 tabstop=8,看起来层次非常明显  

10。if/else , while , do/while , for , switch 等语句块的大括号,不要单独占一行 , 建议 if () {} ,并且大括号

     之前要有个空格。

11。函数定义的大括号,{},要单独占一行。

12。switch语句中的case,default对齐写,

switch风格switch (c) {
case 'A':haha;break;
case 'B':haha;break;
default :oo;
}

13。代码中没个逻辑段落之间应该有一个空格分开,例如全局变量与函数之间,或者函数与函数之间。

14。一个函数内,语句列表很长,分组,例如变量定义为一组加空格,语句,return 0 是一组,加空格。

15。单行注释 /* comment */ 用空格把定界符和注释分开。多行注释风格如下

多行注释/**  Multi-line*  comment*/

16。使用注释的场合

  • 整个源文件顶部。说明此模块信息。顶头写,不缩进
  • 函数注释,说明此函数的功能,参数,返回值,错误等等,卸载函数定义上侧,和此函数之间不留空行,顶头写
  • 相对独立的语句注释,对这一组语句做特别说明,在语句组上侧,和此语句组不留空行,与当前与剧组缩进一致
  • 代码右侧简短注释,对当前代码行做特别说明,一般为单行注释,和代码之间至少用一个空格分开,最好能上下对齐。
    函数内的注释要尽可能少,写注释主要是未了 说明你的代码“能做什么”比如函数接口的定义,而不是为了说明“怎么做”,只要代码写的清楚,“怎么做”是一目了然的,除非是特别需要提醒注意的地方菜使用函数内的注释。
  • 复杂的结构体定义比函数更需要注释。
  • 复杂的宏和变量声明也需要注释。

17。标识符命名

  • 清晰明了,可以使用完整单词和易于理解的缩写,短的单词可以采用去元音的缩写形式,长的单词可以取单词的头几个字母形成缩写。
  • 内核编码风格规定变量,函数和类型采用全小写加下划线_的方式命名,常量(比如宏定义和枚举常量)采用全大写加下划线的方式,例如 函数 radix_tree_insert 类型名 struct radix_tree_root,常量RADIX_TREE_MAP_SHIFT等 ( 不要使用匈牙利命名法)C++中可以使用大小写字母,叫做CamelCase
  • 全局函数和全局变量的命名一定要详细,不惜多用几个单词多写几个下划线,例如radix_tree_insert,因为它们在整个项目的许多源文件中都会用到,必须让使用者明确这个函数或变量是干什么用的。局部变量和只在一个源文件中调用的内部函数的命名可以简略一些。但不能太短,尽量不要使用单个字母,只有一个例外:用 i , j , k 做循环变量可以。
  • 禁止使用汉语拼音做标识符。

18。函数 ( 每个函数都应该尽可能的简单,以下内容如果不能满足,考虑分割函数)

  • 实现一个函数只是为了做好一件事情
  • 函数内部缩进不易过多,一般最多不能超过4层。
  • 函数不要写的太长,建议在24行的标准终端上不超过两屏,太长会造成阅读困难。如果一个函数在概念上是简单的,只是长度长了一点,没关系。例如一个函数是由一个大的switch语句组成,其中有很多个case,这是可以的。
  • 执行函数就是执行一个动作,函数名通常应包含动词。例如 get_current
  • 比较重要的函数定义上侧必须加注释,说明函数的功能,参数,返回值,错误码等等
  • 另一个度量函数复杂度的办法是看有多少个局部变量,一般5-10个局部变量已经很多了。

19。indent工具(可以格式化代码的工具)参数 –kr –i8

转载于:https://www.cnblogs.com/moveofgod/archive/2012/09/28/2706132.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/266833.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android 时间戳 时区,三句话理解时区与时间戳

从不浪费时间的人&#xff0c;没有工夫抱怨时间不够。 —— 杰弗逊第一句话&#xff1a;时间戳时间不分东西南北、在地球的每一个角落都是相同的。他们都有一个相同的名字&#xff0c;叫时间戳。时间戳 指的就是Unix时间戳(Unix timestamp)。它也被称为Unix时间(Unix time)、PO…

windows下的diskpart指令彻底格式化清除U盘

参考&#xff1a;windows下的diskpart指令修复U盘分区 作者&#xff1a;丶PURSUING 发布时间&#xff1a;2021-02-02 09:38:55 网址&#xff1a;https://blog.csdn.net/weixin_44742824/article/details/113537038?spm1001.2014.3001.5501 参考&#xff1a;原文链接 作者&…

简述控制反转ioc_讲一下你理解的 DI 、IoC、DIP ?

作者 | 木小楠链接 |cnblogs.com/liuhaorain/p/3747470.html摘要面向对象设计(OOD)有助于我们开发出高性能、易扩展以及易复用的程序。其中&#xff0c;OOD有一个重要的思想那就是依赖倒置原则(DIP)&#xff0c;并由此引申出IoC、DI以及Ioc容器等概念。本文我们将一起学习这些概…

html模糊遮罩层磨砂玻璃,常见的PPT背景:如何设计PPT背景?

第一种&#xff1a;纯色背景纯色背景分为两类&#xff0c;一种为黑白灰等“无色”背景&#xff0c;另一种就是彩色背景。黑白灰等无色背景&#xff0c;是安全的背景&#xff0c;容易配色&#xff0c;所以在使用上最多&#xff0c;如果没有色彩基础的朋友&#xff0c;建议还是用…

linux分文件编程、静态库与动态库

参考&#xff1a;linux静态库与动态库编程 作者&#xff1a;丶PURSUING 发布时间&#xff1a;2021-02-02 16:51:49 网址&#xff1a;https://blog.csdn.net/weixin_44742824/article/details/113539449?spm1001.2014.3001.5501 目录一、分文件编程的引入优点实现二、库的概念什…

十万个为什么儿童版_《虹猫蓝兔十万个为什么》上架爱奇艺奇巴布绘本馆

虹猫蓝兔绘本《虹猫蓝兔十万个为什么》上架爱奇艺奇巴布绘本馆全套专区。《虹猫蓝兔海底历险记》在爱奇艺PC端首页推广。红网时刻6月11日讯(记者 胡邦建 )今日&#xff0c;记者从湖南漫联卡通文化传媒有限公司获悉&#xff0c;该公司旗下的虹猫蓝兔绘本《虹猫蓝兔十万个为什么》…

创文html5作品,【《创文故事》纪录短片入围作品展播之七】引路人

剧情简介&#xff1a;他只是一名普普通通的教师&#xff0c;却每天风雨无阻地为学生引导起上学放学的路。而这一切&#xff0c;没有一分钱&#xff0c;也没有一分利。他以身作则&#xff0c;用自己的行动感染了周围的人&#xff1a;从一开始的几个人&#xff0c;发展到现在几百…

树莓派外设开发基础(wiringPi库)

参考&#xff1a;树莓派外设开发基础篇 作者&#xff1a;丶PURSUING 发布时间&#xff1a;2021-02-05 18:20:53 网址&#xff1a;https://blog.csdn.net/weixin_44742824/article/details/113673019?spm1001.2014.3001.5501 目录外设开发综述及wiringPi库是什么如何获取如何使…

html仿百度页面代码_百度优化需要注意的4点

百度优化的技术很多&#xff0c;需要根据行业特点进行开拓和挖掘。还需要有多年的网络营销服务经验&#xff0c;进行网站分析、关键词分析、同行竞争分析&#xff0c;优化开始后监视网站流量数据。所以百度优化需要注意的4点如下&#xff1a;(1)页面优化。页面质量不高&#xf…

树莓派串口通信

目录相关概念简述半双工与全双工串口通信注重什么串口通信编程常用API初次使用需要配置树莓派和电脑串口之间读、写、交互接线编写程序其他简单了解为什么说linux一切皆文件查找文件是否存在相关概念 简述半双工与全双工 全双工允许通信双方同时互传数据&#xff1b;半双工不…

html把实线变成虚线,Html5 Canvas 绘制虚线和实线的切换方法

场景应用&#xff1a;1需朋者说上事是础一发一开程和开数的目前间)、最开始默认绘制的都新直能分支调二浏页器朋代说&#xff0c;事刚是实线。var canvas document.getElementById("canvas");var context canvas.getContext("2d");context.strokeStyle …

React引入,运行

1.引入 <script src"https://cdn.bootcss.com/react/15.5.4/react.min.js"></script> <script src"https://cdn.bootcss.com/react/15.5.4/react-dom.min.js"></script> <script src"https://cdn.bootcss.com/babel-stand…

linux与windows间共享文件夹 FileZilla树莓派文件传输

参考&#xff1a;linux与windows间的文件共享 作者&#xff1a;丶PURSUING 发布时间&#xff1a;2021-02-09 11:37:48 网址&#xff1a;https://blog.csdn.net/weixin_44742824/article/details/113767236?spm1001.2014.3001.5502 参考&#xff1a;利用FileZilla实现ubuntu与w…

MATLAB 快速绘制曲线图的形状,粗细,颜色

MATLAB 快速绘制曲线图的形状&#xff0c;粗细&#xff0c;颜色 在写论文的时候&#xff0c;经常要用到Matlab绘制一些曲线&#xff0c;包括曲线的形状、粗细、颜色等&#xff0c;可以通过以下的piot函数实现。 1.通过改变R-G-B 的值改变线条的颜色&#xff1a; 通过改变R-G…

安装secureCRT提示sorry的解决办法

摘自&#xff1a;你的secureCRT还在sorry吗&#xff1f; 作者&#xff1a;丶PURSUING 发布时间&#xff1a; 2021-03-12 08:21:37 网址&#xff1a;https://blog.csdn.net/weixin_44742824/article/details/114684721?spm1001.2014.3001.5502 此篇专门针对于学习群中部分小伙伴…

第三十三讲:tapestry表单组件详解之Label

2019独角兽企业重金招聘Python工程师标准>>> http://flywind.org/newtechnologydetail/168 转载于:https://my.oschina.net/flywind/blog/82633

c语言基础回顾 —— 其他知识点

参考&#xff1a;c语言基础回顾 —— 其他知识点 作者&#xff1a;丶PURSUING 发布时间&#xff1a; 2021-03-11 14:48:59 网址&#xff1a;https://blog.csdn.net/weixin_44742824/article/details/114666007 本文为学习笔记&#xff0c;结合课程内容以及下列文章 在 printf 里…

WebFlux02 SpringBoot WebFlux项目骨架搭建

1 环境搭建 1.1 版本说明 jdk -> 1.8 maven -3.5 springboot -> 2.0.3 开发工具 -> IDEA 1.2 创建项目 利用 IDEA 或者 start.spring.io 创建一个SpringBoot项目 1.2.1 选择依赖 1.2.2 pom.xml 依赖 <?xml version"1.0" encoding"UTF-8"?&g…

计算机专业 拒绝清华,高分拒绝清华北大怎么回事 为什么会拒绝

原标题&#xff1a;高分拒绝清华北大怎么回事 为什么会拒绝今年有一位来自云南的考生在高考的时候考了712分&#xff0c;成功超过清华北大的投档线&#xff0c;要是换做别人都应该会很高兴&#xff0c;终于能够上万人瞩目的名牌大学了&#xff0c;但是这位学生却拒绝了北大清华…

五大板块(1)—— 数组的定义,赋值与应用

参考&#xff1a;五大板块&#xff08;1&#xff09;—— 数组的定义&#xff0c;赋值与应用 作者&#xff1a;丶PURSUING 发布时间&#xff1a; 2021-03-18 16:00:05 网址&#xff1a;https://blog.csdn.net/weixin_44742824/article/details/114981166 目录数组的定义及访问完…