C语言代码规范(一)缩进与换行
一、缩进的空格数为4个。最好配置代码编辑器将TAB键设置为空格替换,避免出现另一个编辑器打开时格式变乱的情况。
例如Notepad++设置
KEIL设置
二、“{” 和 “}”各自独占一行。
不规范例子:
for(i = 0; i < student_num; i++)
{ if((score[i] >= 0) && (score[i]) <= 100)total_score += score[i];elseprintf(" error! score[%d] = %d\n", i, score[i]);
}
其中if应该换行,让“{”独占一行。
规范的例子:
for(i = 0; i < student_num; i++)
{ if((score[i] >= 0) && (score[i]) <= 100){total_score += score[i];}else{printf(" error! score[%d] = %d\n", i, score[i]);}
}
三、 当if的判断和执行句子较短时,也需要换行。
不规范如下格式:
if(student_num > 100)i = 0;
规范示例:
if(student_num > 100)
{i = 0;
}
四、if判断内容较长,可以考虑换行提高可阅读性
不规范例子:
if((print_montion[0]!=SYS_PARAM.Motor_PARAM[0].Set_Speed)||(print_montion[1]!=SYS_PARAM.Motor_PARAM[1].Set_Speed))
if((M_rise && M_rise_temp)||(M_stretch && M_stretch_temp)||(M_revolve && M_revolve_temp))break;
规范示例:
if( (print_montion[0] != SYS_PARAM.Motor_PARAM[0].Set_Speed) ||(print_montion[1] != SYS_PARAM.Motor_PARAM[1].Set_Speed) )
if( (M_rise && M_rise_temp) ||(M_stretch && M_stretch_temp) ||(M_revolve && M_revolve_temp) )
{break;
}
换行后也要注意缩进对齐,使得排版整洁。
五、switch-case语句标准格式
规范示例:
switch(variable)
{case value1:...break;case value2:...break;...default:...break;
}
六、if、for、do、while、case、switch、default语句独占一行,且if、for、do、while语句的执行语句部分无论多少都要加大括号"{}"。
七、严禁横向代码!!!
不规范示例:
if ( M_rise ) {EN_s = Enable; TIM_CCxNCmd(TIM1,TIM_Channel_1, ENABLE); }
if ( M_stretch ){EN_q = Enable; TIM_CCxNCmd(TIM1,TIM_Channel_2, ENABLE); }
if ( M_revolve ){EN_x = Enable; TIM_CCxNCmd(TIM1,TIM_Channel_3, ENABLE); }
修改:(这里的例子命名不规范,大家不要学)
if(M_rise){EN_s = Enable; TIM_CCxNCmd(TIM1, TIM_Channel_1, ENABLE); } if(M_stretch){EN_q = Enable; TIM_CCxNCmd(TIM1, TIM_Channel_2, ENABLE); } if(M_revolve){EN_x = Enable; TIM_CCxNCmd(TIM1, TIM_Channel_3, ENABLE); }
不要非主流自创风格,记住代码是给别人读的!
C语言代码规范(一)缩进与换行相关推荐
- 嵌入式C语言代码规范
C语言代码规范 参考安富莱C语言编码规范 1.文件与目录 1.文件及目录的命名规定可用的字符集是[A-Z:a-z:0-9:._-]. 2.源文件名后缀用小写字母 .c 和.h. 3.文件的命名要准确清 ...
- C语言代码规范(编程规范)
首页 > 编程笔记 > C语言笔记 阅读:7,165 C语言代码规范(编程规范) C语言中文网推出辅导班啦,包括「C语言辅导班.C++辅导班.算法/数据结构辅导班」,全部都是一对一教学:一 ...
- go语言代码规范详解
本规范旨在为日常Go项目开发提供一个代码的规范指导,方便团队形成一个统一的代码风格,提高代码的可读性,规范性和统一性.本规范将从命名规范,注释规范,代码风格和 Go 语言提供的常用的工具这几个方面做一 ...
- C语言代码规范(九)运算符优先级使用括号提高阅读性
举简单例子 a = b | c << d + 2; 对于大牛没有问题,对于我这样的码农需要思考一下运算优先级 对于这种情况华某有规范使用括号来表示运算顺序,从而提高代码可阅读性 a = b ...
- C语言代码规范(四)命名规则
一.宏定义全部字母大写,单词间下划线间隔 #define FLASH_PAGE_SIZE 256 #define FLASH_SECTOR_SIZE (4 * 1024) #define FLASH_ ...
- 2011软考软件设计师:C语言代码规范问题(1
1. C言语书写规范 1. 1符号命名规则 1. 1. 1符号名包括模块名.常量名.标号名.子顺序名等. 这些名字应该能反映它所代表的实践东西, 具有一定的意义, 用大写字母命名. 除了规则以外, ( ...
- C语言代码规范(三)if语句
一.整型变量与0比较 许多人为了一时之便,模仿布尔变量风格写为如下代码 if(value) {... }if(!value) {... } 应当用 == 或 != 来与0比较 if(0 == valu ...
- C语言代码规范(十)花里胡哨代码鉴赏
一.宏定义篇 1.作者的目的是防止GPIO口赋值超过1.但是有明显自觉高人一等,瞧不起读者的感觉. uint8_t not_func(uint8_t sw) {return (sw?1:0); }#d ...
- C语言代码规范(八)使用const修饰值不允许改变的变量
使用const限定一个变量的值不允许被改变,从而保护被修饰的东西,防止意外,提高程序的可靠性和安全性.
最新文章
- 设计输出实数的格式,实数用%6.2f格式输出
- PPIO 商业化架构解析
- Django自身的CBV列表
- 迷失lost结局什么意思_沉默的真相结局是什么意思?严良为什么把球送给江阳儿子?...
- 固定在左右两侧不动的广告条 样式
- 魔鬼作坊第一部实践----第九课
- 大厂面试:一个四年多经验程序员的BAT面经
- android蓝牙串口arduino源码,android – Arduino:使用串口和软件串口与蓝牙模块
- jQuery版本低引起的漏洞——CVE-2020-11022/CVE-2020-11023
- 【软件设计师中级】设计模式之原型模式学习笔记(c++)
- 企业数据仓库总线架构、总线矩阵笔记 (第三篇)
- java根据身份证号码计算年龄的方法(精确到日)
- 后端返回图片二进制流,前端处理
- python简易爬虫:xpath解析方式抓取几页小猪短租官网的住房信息
- 程序员接私单被警方抓走,企业应不应该起诉程序员赔偿?
- python学习相关软件
- QT EXCEL 删除整行
- linux系统使用实验报告操作系统,linux操作系统实验报告1.doc
- 预计一季度国内手机市场下滑逾30%;美国或取诺基亚爱立信控
- 【愚公系列】2022年01月 Java教学课程 80-软件开发介绍
热门文章
- 摄像头分辨率怎么调整_亿联CAM50 - 智能话机专属高清摄像头
- onpropertychange替代方案
- lumion自动保存_LUMION吊打MAX,轻松玩转规划渲染!
- golang反编译_【Golang】脱胎换骨的defer(一)
- php维护session,维护带有cookie的PHP session_start()
- 抢答网页PHP,[抢答]抢答环节已结束,相关答案已封箱 - 薅羊毛(Coupon)版 - 北大未名BBS...
- Guzzle – 构建 RESTful Web 服务的 PHP HTTP 框架
- webview布局适配实践
- 皮肤可配置化:变量、样式分离
- Css3新属性:calc()