C语言代码规范
一、问题引入
初入编程世界,我们不知道什么叫做好代码。一切以实现功能和快速上线项目为主,但编程经验增加,发现代码越来越难写,越来越难改。
导致这样的原因是没有遵循一般性的编程规则或则没有良好的编程风格。俗话说:“无规矩不成方圆”,在编程水平上来后,就更应该遵循规则。
傻瓜都能写出计算机可以理解的代码。唯有能写出人类容易理解的代码的,才是优秀的程序员
好代码的检验标准就是人们是否能轻而易举地修改它
二、解决过程
规则涉及到:变量、函数、结构体、宏、注释、缩进、空格、花括号等
2-1 变量
好代码应能清楚地表明它在做什么,而变量命名是代码清晰的关键
变量按照作用域可以分为:局部变量、全局变量、静态局部变量
变量按照类型可以为:普通变量、结构体变量
-
变量采用小驼峰命名法 例如:
englishBook
-
结构体变量加后缀_t 例如:
event_t
-
全局变量加前缀g_ 例如:
g_mode
-
静态局部变量加前缀s_ 例如:
s_mode
2-2 函数
好的命名十分重要,但往往并非唾手可得。只有恰如其分地命名,才能彰显出将大函数分解成小函数的价值
-
若函数无特殊用途,一律限制为
static
例如:static int lib_user_id_get()
-
函数命名采用匈牙利命名法 例如:
int lib_user_id_get()
-
函数参数类型为指针时,若禁止通过间接引用修改值,应限制为const 例如:
static int lib_user_pwd_set(const char *pwd)
-
函数参数类型为结构体时,一律传入结构体指针,若禁止通过间接引用修改值,一律限制为const
-
函数主体部分不能过长,会影响阅读。主体部分应控制在一个显示器页面内
-
一个函数只做一件事,正如函数名定义的那样
-
当函数参数大于三个以上的参数时,考虑把三个参数作为一个结构体
2-3 结构体
-
结构体名称应该是名词或名词短语,不应该是动词 例如:
Customer
、Account
-
结构体声明时,采用大驼峰命名法,加后缀_T 例如:
EventData_T
-
结构体变量定义时,采用小驼峰命名法,加后缀_t 例如:
eventData_t
2-4 宏
- 宏定义使用全大写字母,连接符用_ 例如:
#define FILE_SIZE 1024
2-5 注释
-
当你感觉需要撰写注释时,请先尝试重构,试着让所有注释都变得多余
-
当逻辑比较复杂难以理解,应该加以注释说明
-
良好的代码是不需要注释的,应该代码可读性良好
-
注释不是越多越好,仅在关键地方标注注释就好
三、反思总结
良好的代码风格可以增加可读性,提高可维护性。
四、参考引用
重构:改善既有代码的设计(第二版)
代码整洁之道
相关文章
- 快数据:大数据发展的下一个起点
- 微软 Edge 浏览器整合 Office:一键打开 Word、Excel 和 PowerPoint 文档
- Windows 10更新惹祸 游戏卡顿、掉帧:微软正式回应
- 使用Windows 10操作系统,不知道电脑分辨率怎么调,来看看详细操作
- Windows 10系统电脑,想设置电脑开机密码,如何才能设置开机密码?
- Windows 10系统,最新漏洞补丁不自动更新怎么办?学会这个技巧即可
- 为什么有人把新电脑中的正版Windows 10系统重装为盗版Windows 7系统?
- 快扔掉MapReduce,拥抱Spark吧!
- 21H2确定为五月更新!Windows 10今年首个大更新将至
- Windows 10“太阳谷”大更新将新增 AAC 编码支持,AirPods 听歌音质更好
- Windows 10系统ipv6无访问权限上不了网怎么办
- Windows 10系统一键释放7G系统空间,关键时刻可以救急
- HugePages(大内存页)实现完全解析
- 一文读懂 HugePages(大内存页)的原理
- 只需一条命令,就可以查出哪些端口被防火墙阻止了,真方便
- 推荐3款备受青睐的便携式Linux
- 使用 Linux 自动化工具提高生产率
- 如何在 Linux 中删除分区
- 大数据基础知识:分布式计算、服务器集群
- 学生利器:微软为 Edge 浏览器稳定版新增数学求解器功能