1、避免嵌套过深,一般函数模块嵌套不超过4层;
2、函数代码不要过长,可以用多个子函数;
3、需要对函数参数做必要的合法检查;
4、对函数的错误返回码要全面处理;
5、标识符要清晰明了,有明确的含义;
6、变量:一个字符——小写,多个字符——单驼峰;
函数:双驼峰加下划线;
宏定义:全大写加下划线;
(个人代码风格)
7、函数返回局部变量的值可以,但是不能返回局部变量的地址;
8、因为宏替换多个语句时,宏直接替换可能会出错,加上大括号也有可能会出错,最终的解决办法是#define加do while(0)。那么完全不用担心使用者如何使用,也不用加任何约束;
9、使用宏的时候,宏参数不要有运算;
10、不要使用魔鬼数,即没有意义的数字;
11、常量建议用const定义替代宏;
12、const修饰谁,谁就是只读的。
13、在定义结构体时,要尽量把相同数据类型的变量连续写才比较好。
14、C语言的两种注释方式:
(1)以 // 开始、以换行符结束的单行注释;
(2)以 /* 开始、以 */ 结束的块注释;
15、除逻辑上非密切相关的语句不加空行,别的都应该加空行分隔;
16、一行代码只做一件事,比如只定义一个变量、只写一条语句;
17、if for while do等语句自占一行,执行语句不能紧跟其后,不论多少语句都要加{ };
18、尽可能在定义的同时直接初始化;
19、虽然注释有利于理解代码,但不可过多使用注释;
20、如果代码中的运算符比较多,用括号确定表达式的操作顺序,避免使用默认的优先级;
21、尽量使用if(NULL == p),少用if(p == NULL),因为p = NULL是正确的,防止出现这种错误;

注:该教程是作者本人通过阅读书籍及经验笔记,如果有纰漏或者错误的地方希望大家可以不吝赐教,一起学习进步。代码风格是因人而异的,不强求,只是按照规范的话,代码质量会更高。

高质量C语言编程——持续更新相关推荐

  1. C语言程序设计教程的读后感,《高质量c语言编程》读后感

    <高质量c语言编程>读后感 当认真看完一本名著后,大家一定对生活有了新的感悟和看法,现在就让我们写一篇走心的读后感吧.那么如何写读后感才能更有感染力呢?以下是小编收集整理的<高质量c ...

  2. c语言与程序设计读后感,《高质量c语言编程》读后感

    <高质量c语言编程>读后感 当细细地品读完一本名著后,想必你有不少可以分享的东西,这时候,最关键的读后感怎么能落下!现在你是否对读后感一筹莫展呢?以下是小编帮大家整理的<高质量c语言 ...

  3. 编程c语言读后感,《高质量c语言编程》读后感

    当阅读完一本名著后,你心中有什么感想呢?需要回过头来写一写读后感了.那么你真的懂得怎么写读后感吗?下面是小编帮大家整理的<高质量c语言编程>读后感范文,希望能够帮助到大家. 读完<高 ...

  4. 林锐 高质量c语言编程下载,新年献礼:Go语言深度入门手册

    (文末的阅读原文,效果最佳!) 作者:李佶澳 微信:lijiaocn Go 语言深度入门手册,帮你更好的理解 Go 语言,写出更高效.更规范.更不易出错的代码. Go 在 2012 年发布 1.0 版 ...

  5. 《高质量C/C++编程指南》摘要

    一.文件结构 避免头文件被重复引用,用 #pragma once 进行预处理 用 <> 引用标注库头文件,用 "" 引用自定义库头文件 C语言头文件只进行函数声明,不进 ...

  6. 高质量 C++/C 编程指南

    高质量 C++/C 编程指南 文件标识: 文件状态 [ ] 草稿文件 [√]正式文件 [ ] 更改正式文件 当前版本: 1.0 作 者: 林锐 博士 完成日期: 2001 年7 月24 日 高质量 C ...

  7. 高质量C++/C 编程指南

    高质量C++/C 编程指南 文件标识: 当前版本: 1.0 作 者: 林锐 博士 文件状态 [ ] 草稿文件 [√] 正式文件 [ ] 更改正式文件 完成日期: 2001 年7 月24 日 高质量C+ ...

  8. 高质量C++/C编程指南 1

    高质量C++/C编程指南 文件状态 [ ] 草稿文件 [√] 正式文件 [ ] 更改正式文件 文件标识: 当前版本: 1.0 作 者: 林锐 博士 完成日期: 2001年7月24日 http://ma ...

  9. C/C++怎样编写高质量的程序:头文件和源文件模板------高质量C++/C编程指南-第1章-文件结构

    http://www.bianceng.cn/Programming/cplus/200705/614.htm 高质量C++/C编程指南-第1章-文件结构 第1章 文件结构 每个C++/C程序通常分为 ...

最新文章

  1. 宏基因组文章目录(9月1日更新)
  2. 常见的web 攻击手段
  3. RDLC系列之五 初试XAML
  4. 数据库为date型,而前端要显示String型,问题解决
  5. 蓝桥杯 ADV-143算法提高 扶老奶奶过街
  6. 【亲测可用】彻底解决Google谷歌地球启动无法连接到登录服务器、无法启动问题
  7. pyinstaller打包程序带图片终极教程
  8. 自动驾驶(十五)---------再论轨迹规划
  9. 一文了解无线网桥-小白笔记
  10. 怎么打造属于自己的天猫精灵
  11. 计算机设备信息检测,硬件信息检测软件(HiBit System Information)
  12. jupyter不是内部或外部命令,也不是可运行程序的解决方案
  13. 【番杰的问答笔记】C语言的命令注意事项
  14. Android开机动画没有声音,Android 定制机合约机去除运营商开机动画和声音
  15. MATLAB plot函数绘制二维曲线
  16. LU分解求线性方程组的解
  17. 忆17级信管杨友大三学年个人风雨兼程岁月
  18. 2万元起步 大四学生炒房资产达500万元
  19. 机器视觉技术的发展动态
  20. 马尔代夫Robinson-友好亲切,流连忘返

热门文章

  1. Android基于NSD实现网络服务发现功能
  2. ios6/io7 画面适配
  3. 32种花样流水灯c语言程序,32LED单片机心形花样流水灯程序+视频
  4. 移动端之在不同尺寸大小的手机上展示同一效果解决方案(修正二) by FungLeo
  5. ice配置与实例(VS2015)
  6. 华科大考研计算机系834大纲之数据结构(三)
  7. Water in Unity 使用Unity提供的水效果
  8. linux服务器安装vncserve过程记录
  9. uniapp 运行模拟器 (MUMU)
  10. PyQt5+eric6之旅(三) - 多线程应用 - 追加显示