一、缩进的空格数为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语言代码规范(一)缩进与换行相关推荐

  1. 嵌入式C语言代码规范

    C语言代码规范 参考安富莱C语言编码规范 1.文件与目录 1.文件及目录的命名规定可用的字符集是[A-Z:a-z:0-9:._-]. 2.源文件名后缀用小写字母 .c 和.h. 3.文件的命名要准确清 ...

  2. C语言代码规范(编程规范)

    首页 > 编程笔记 > C语言笔记 阅读:7,165 C语言代码规范(编程规范) C语言中文网推出辅导班啦,包括「C语言辅导班.C++辅导班.算法/数据结构辅导班」,全部都是一对一教学:一 ...

  3. go语言代码规范详解

    本规范旨在为日常Go项目开发提供一个代码的规范指导,方便团队形成一个统一的代码风格,提高代码的可读性,规范性和统一性.本规范将从命名规范,注释规范,代码风格和 Go 语言提供的常用的工具这几个方面做一 ...

  4. C语言代码规范(九)运算符优先级使用括号提高阅读性

    举简单例子 a = b | c << d + 2; 对于大牛没有问题,对于我这样的码农需要思考一下运算优先级 对于这种情况华某有规范使用括号来表示运算顺序,从而提高代码可阅读性 a = b ...

  5. C语言代码规范(四)命名规则

    一.宏定义全部字母大写,单词间下划线间隔 #define FLASH_PAGE_SIZE 256 #define FLASH_SECTOR_SIZE (4 * 1024) #define FLASH_ ...

  6. 2011软考软件设计师:C语言代码规范问题(1

    1. C言语书写规范 1. 1符号命名规则 1. 1. 1符号名包括模块名.常量名.标号名.子顺序名等. 这些名字应该能反映它所代表的实践东西, 具有一定的意义, 用大写字母命名. 除了规则以外, ( ...

  7. C语言代码规范(三)if语句

    一.整型变量与0比较 许多人为了一时之便,模仿布尔变量风格写为如下代码 if(value) {... }if(!value) {... } 应当用 == 或 != 来与0比较 if(0 == valu ...

  8. C语言代码规范(十)花里胡哨代码鉴赏

    一.宏定义篇 1.作者的目的是防止GPIO口赋值超过1.但是有明显自觉高人一等,瞧不起读者的感觉. uint8_t not_func(uint8_t sw) {return (sw?1:0); }#d ...

  9. C语言代码规范(八)使用const修饰值不允许改变的变量

    使用const限定一个变量的值不允许被改变,从而保护被修饰的东西,防止意外,提高程序的可靠性和安全性.

最新文章

  1. 设计输出实数的格式,实数用%6.2f格式输出
  2. PPIO 商业化架构解析
  3. Django自身的CBV列表
  4. 迷失lost结局什么意思_沉默的真相结局是什么意思?严良为什么把球送给江阳儿子?...
  5. 固定在左右两侧不动的广告条 样式
  6. 魔鬼作坊第一部实践----第九课
  7. 大厂面试:一个四年多经验程序员的BAT面经
  8. android蓝牙串口arduino源码,android – Arduino:使用串口和软件串口与蓝牙模块
  9. jQuery版本低引起的漏洞——CVE-2020-11022/CVE-2020-11023
  10. 【软件设计师中级】设计模式之原型模式学习笔记(c++)
  11. 企业数据仓库总线架构、总线矩阵笔记 (第三篇)
  12. java根据身份证号码计算年龄的方法(精确到日)
  13. 后端返回图片二进制流,前端处理
  14. python简易爬虫:xpath解析方式抓取几页小猪短租官网的住房信息
  15. 程序员接私单被警方抓走,企业应不应该起诉程序员赔偿?
  16. python学习相关软件
  17. QT EXCEL 删除整行
  18. linux系统使用实验报告操作系统,linux操作系统实验报告1.doc
  19. 预计一季度国内手机市场下滑逾30%;美国或取诺基亚爱立信控
  20. 【愚公系列】2022年01月 Java教学课程 80-软件开发介绍

热门文章

  1. 摄像头分辨率怎么调整_亿联CAM50 - 智能话机专属高清摄像头
  2. onpropertychange替代方案
  3. lumion自动保存_LUMION吊打MAX,轻松玩转规划渲染!
  4. golang反编译_【Golang】脱胎换骨的defer(一)
  5. php维护session,维护带有cookie的PHP session_start()
  6. 抢答网页PHP,[抢答]抢答环节已结束,相关答案已封箱 - 薅羊毛(Coupon)版 - 北大未名BBS...
  7. Guzzle – 构建 RESTful Web 服务的 PHP HTTP 框架
  8. webview布局适配实践
  9. 皮肤可配置化:变量、样式分离
  10. Css3新属性:calc()