1.合理的使用注释

注释为:/*…………*/

注释有以下几种情况:

1) 版本、版权声明。

2) 函数接口说明。

3) 重要的代码或者段落显示。

注释注意:

1) 注释是对代码的解释,不是对文档。注释不可喧宾夺主,注释不宜太多,花样也要少。

2) 如果代码本身很清楚,就不比加注释。

3) 边写代码边注释,在修改代码的同时修改注释,保证注释的一致性。

4) 没用的注释要及时删除。

5) 注释应该准确、易懂,防止出现二义性。

6) 尽量避免在注释中使用不常用的缩写。

7) 注释的位置要与所描述的代码相邻,可以放在代码的上面或右侧,不要将其放在下面。

2.程序中的{}要对其

程序中分解符“{”和“}”应占据一行并且位于同一列,同时与引用它们的语句左对齐,如下面的代码

void function(int n)
{ }

3.空格在程序中使用

1) 关键字后要留一个空格,如const、case等,否则编译器无法辨别它是否是关键字。if for while 等关键字后也应该留一个空格,然后在更小括号“(”,以突显关键字。

2) 在函数名之后不要留空格,要紧跟“(”,以示与关键字的区别

3) "("后向紧跟,“)”、“,”、“;”前向紧跟,紧跟出不留空格

4) “,”之后要留空格,如果“;”不是一行结束的,则最后要留空格。

5) 赋值操作符、比较操作符、算数操作符、逻辑操作符、位操作符前后都应该适当加空格。对于比较长的表达式,即使用了这些二员操作符,也应该适当去掉一些空格,是表达式更紧凑

6) 一元操作符如“!”、“~”、“++”、“--”等前后不加空格,如“[]”、“.”、“->”等操作符同样。

4.换行使代码更清晰

代码行最大的长度应该控制在70~80个字符内,代码行不要过长,否则用户不能一屏看完全,而且也不利于打印,长的表达式要在优先级操作符处拆分成新行,操作符放在新行的前面,用于突显操作符。拆分出来的新行要适当的缩进,使代码版式整齐,可读性增加,

1) 按操作符优先级拆分

if ((var1 > var2)
&&(var3 < var4)
&&(var5 < var6))
{
dosomething();
}

2) 按表达式的意义拆分

for (initialization;
condition;
update)
{
dosomething();
}

5.正确使用标识符

标识符是指常量、变量、语句标号以及用户自定义函数的名称。使用标识符要遵循以下规则

1) 所有标识符必须由字母或下划线开头

2) 标识符的其他部分可以由字母、下划线或数字组成

3) 大小写字母表示不同的意义,即代表不同的标识符

4) 标识符不能使关键字

透过c的编程原则,来规范自己现在的一些编程习惯的更多相关文章

  1. Qt的编程风格与规范

    Qt的编程风格与规范 来源: http://blog.csdn.net/qq_35488967/article/details/70055490 参考资料: https://wiki.qt.io/Qt ...

  2. RESTful API设计原则与规范

    RESTful API设计原则与规范 一.背景与基础概念 2 二.RESTful API应遵循的原则 3 1.协议(Protocol) 3 2.域名(ROOT URL) 3 3.版本(Versioni ...

  3. 谷歌大牛 Rob Pike 的 5 个编程原则

    谷歌大牛 Rob Pike 的 5 个编程原则 简介: Rob Pike,目前谷歌公司最著名的软件工程师之一,曾是贝尔实验室Unix开发团队成员,Plan9操作系统开发的主要领导人,Inferno操作 ...

  4. 【repost】如何学好编程 (精挑细选编程教程,帮助现在在校学生学好编程,让你门找到编程的方向)四个方法总有一个学好编程的方法适合你

    方法(一)编了这么久的程序,一直想找机会总结下其中的心得和方法,但回想我这段编程道路,又很难说清楚,如果按照我走过的所有路来说,显然是不可能的!当我看完了云风的<游戏之旅--编程感悟>和梁 ...

  5. vertx 异步编程指南 step8-使用RxJava进行反应式编程

    vertx 异步编程指南 step8-使用RxJava进行反应式编程 2018-04-23 13:15:32 zyydecsdn 阅读数 1212  收藏 更多 分类专栏: vertx   到目前为止 ...

  6. 翻译连载 | 附录 C:函数式编程函数库-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇

    原文地址:Functional-Light-JS 原文作者:Kyle Simpson-<You-Dont-Know-JS>作者 关于译者:这是一个流淌着沪江血液的纯粹工程:认真,是 HTM ...

  7. Win32 OpenGL 编程( 1 ) Win32 下的 OpenGL 编程必须步骤

    http://blog.csdn.net/vagrxie/article/details/4602961 Win32 OpenGL 编程( 1 ) Win32 下的 OpenGL 编程必须步骤 wri ...

  8. Linux 系统编程 学习:06-基于socket的网络编程1:有关概念

    Linux 系统编程 学习:006-基于socket的网络编程1:有关概念 背景 上一讲 进程间通信:System V IPC(2)中,我们介绍了System IPC中关于信号量的概念,以及如何使用. ...

  9. Linux 系统编程 学习:07-基于socket的网络编程2:基于 UDP 的通信

    Linux 系统编程 学习:07-基于socket的网络编程2:基于 UDP 的通信 背景 上一讲我们介绍了网络编程的一些概念.socket的网络编程的有关概念 这一讲我们来看UDP 通信. 知识 U ...

随机推荐

  1. ppm与毫克/立方米怎么换算

    ppm是溶液浓度(溶质质量分数)的一种表示方法,1升水溶液中有1毫克的溶质,g/m3或mg/L. 对于气体:,一百万体积的空气中所含污染物的体积数. 而按我国规定,特别是环保部门,则要求气体浓度以质量 ...

  2. MongoDB相关资料收集

    MongoDB 入门教程http://www.runoob.com/mongodb/mongodb-tutorial.html .net 驱动程序下载:http://mongodb.github.io ...

  3. 倍增法lca

    ][N],siz[N];//rt数组需要在dfs之前置-1. void dfs(int pos,int deep){ dep[pos]=deep; siz[pos]=; for(edge *it=ad ...

  4. (转)C#操作PPT

    原文地址:http://blog.163.com/loveyingchun_1314/blog/static/2382425120124312627530/ 引用Microsoft.Office.Co ...

  5. 酷我音乐API

    今天把酷我音乐API分享给大家: 歌曲搜索API:http://search.kuwo.cn/r.s?all={0}&ft=music& itemset=web_2013&cl ...

  6. Xcode entitlement 问题定位和解决指南

    背景故事 前两天,本来一个运行正常.打包测试都没问题的XCode工程突然爆出各种奇怪的Entitlement错误: 什么签名的内容跟配置文件的不一致. 又或者 无法安装,因为签名或者配置文件的配置错误 ...

  7. java 中的原始类型与原始封装类型

    Java   提供两种不同的类型:引用类型和原始类型(或内置类型).比如:Int是java的原始数据类型,Integer是java为int提供的封装类.Java为每个原始类型提供了封装类,常见的原始与 ...

  8. 洛谷P1470 最长前缀 Longest Prefix

    P1470 最长前缀 Longest Prefix 73通过 236提交 题目提供者该用户不存在 标签USACO 难度普及/提高- 提交  讨论  题解 最新讨论 求大神指导,为何错? 题目描述 在生 ...

  9. TCP/IP详解学习笔记(12)-- TCP:传输控制协议

    1.概述      TCP提供了一种可靠的面向连接的字节流运输层服务.      TCP将用户数据打包成报文段,它发送后启动一个定时器,另一端收到的数据进行确认,对失序的数据重新排序,丢弃重复数据,T ...

  10. PfSense基于BSD的软件防火墙的安装、配置与应用

    PfSense基于BSD的软件防火墙的安装.配置与应用 PfSense是一个FreeBSD下的免费开源的防火墙和路由器软件,他为了在X86平台上面建立一个高集成性的防火墙项目,下面就为大家展示如何配置 ...