透过c的编程原则,来规范自己现在的一些编程习惯
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的编程原则,来规范自己现在的一些编程习惯的更多相关文章
- Qt的编程风格与规范
Qt的编程风格与规范 来源: http://blog.csdn.net/qq_35488967/article/details/70055490 参考资料: https://wiki.qt.io/Qt ...
- RESTful API设计原则与规范
RESTful API设计原则与规范 一.背景与基础概念 2 二.RESTful API应遵循的原则 3 1.协议(Protocol) 3 2.域名(ROOT URL) 3 3.版本(Versioni ...
- 谷歌大牛 Rob Pike 的 5 个编程原则
谷歌大牛 Rob Pike 的 5 个编程原则 简介: Rob Pike,目前谷歌公司最著名的软件工程师之一,曾是贝尔实验室Unix开发团队成员,Plan9操作系统开发的主要领导人,Inferno操作 ...
- 【repost】如何学好编程 (精挑细选编程教程,帮助现在在校学生学好编程,让你门找到编程的方向)四个方法总有一个学好编程的方法适合你
方法(一)编了这么久的程序,一直想找机会总结下其中的心得和方法,但回想我这段编程道路,又很难说清楚,如果按照我走过的所有路来说,显然是不可能的!当我看完了云风的<游戏之旅--编程感悟>和梁 ...
- vertx 异步编程指南 step8-使用RxJava进行反应式编程
vertx 异步编程指南 step8-使用RxJava进行反应式编程 2018-04-23 13:15:32 zyydecsdn 阅读数 1212 收藏 更多 分类专栏: vertx 到目前为止 ...
- 翻译连载 | 附录 C:函数式编程函数库-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇
原文地址:Functional-Light-JS 原文作者:Kyle Simpson-<You-Dont-Know-JS>作者 关于译者:这是一个流淌着沪江血液的纯粹工程:认真,是 HTM ...
- Win32 OpenGL 编程( 1 ) Win32 下的 OpenGL 编程必须步骤
http://blog.csdn.net/vagrxie/article/details/4602961 Win32 OpenGL 编程( 1 ) Win32 下的 OpenGL 编程必须步骤 wri ...
- Linux 系统编程 学习:06-基于socket的网络编程1:有关概念
Linux 系统编程 学习:006-基于socket的网络编程1:有关概念 背景 上一讲 进程间通信:System V IPC(2)中,我们介绍了System IPC中关于信号量的概念,以及如何使用. ...
- Linux 系统编程 学习:07-基于socket的网络编程2:基于 UDP 的通信
Linux 系统编程 学习:07-基于socket的网络编程2:基于 UDP 的通信 背景 上一讲我们介绍了网络编程的一些概念.socket的网络编程的有关概念 这一讲我们来看UDP 通信. 知识 U ...
随机推荐
- C#下的Redis 学习
Redis作为世界上最快的分布式NoSQL的数据存储,在高性能构架中离不开他的身影 Centos下安装Redis wget http://download.redis.io/redis-stable. ...
- nyoj 90 整数划分
点击打开链接 整数划分 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 将正整数n表示成一系列正整数之和:n=n1+n2+-+nk, 其中n1≥n2≥-≥nk≥1,k≥ ...
- (转)windows下配置nginx+php环境
原文地址 http://www.cnblogs.com/huayangmeng/archive/2011/06/15/2081337.html 刚看到nginx这个词,我很好奇它的读法(engine ...
- JQuery基础教程:选择元素(上)
jQuery最强大的特性之一就是它能够简化在DOM中选择元素的任务,DOM中的对象网络与家谱有几分类似,当我们提到网络中元素之间的关系时,会使用类似描述家庭关系的术语,比如父元素.子元素,等等.通过一 ...
- spark-sql启动后在监控页面中显示的Application Name为SparkSQL::xxxx的疑问
启动spark-sql执行sql时,在监控页面中看到该Application的Name是SparkSQL:hadoop000(其中hadoop000是测试机器的hostname),就有个想法,修改下该 ...
- xcode7.3 升级 xcode8.0 后权限设置问题(升级xcode 8.0 后构建版本不显示问题)
xcode7.3 升级 xcode8.0 后权限设置问题(升级xcode 8.0 后构建版本不显示问题) 前两天为了适配 iOS10 的系统 我将xcode 7.3 升级到了 xcode 8.0 但是 ...
- Unity3D 新人学习的一点感想
想到那里写到那里吧 1.Unity3D的优点大家都知道:组件化.c#语言.可见即所得. 当初刚开始学习的是cocos2dx,c++的货,觉得还是写的不错的,也是国人开发的,真的代码很容易懂,直接看引擎 ...
- Sublime Text 2/3中Autoprefixer失效解决方法
###Sublime Text 2/3中Autoprefixer失效解决方法: 相信每个前端er都会使用Subl这款工具吧,因为它有上千款开源的插件,而且功能各异,这里给大家带来的是标题中Autopr ...
- C/C++程序员面试易错题
c部分::::::::::::::::::::::::::::::::::: . 关键字volatile有什么含意? 并给出三个不同的例 子. [参考答案]一个定义为volatile的变量是说这变量可 ...
- Add, remove, shuffle and sort
To deal cards, we would like a method that removes a card from the deck and returns it. The list met ...