迟思堂工作室编程规范:单片机C语言
2009-05-21 14:14
344 查看
迟思堂工作室编程规范:单片机C语言
1、头文件:
头文件一般是声明外部或内部变量、函数以及定义的宏。一般不作变量的初始化。
其格式为:
#ifndef __MY_TYPE_H__
#define __MY_TYPE_H__
.
.
.
#endif /* __MY_TYPE_H__ */
或:
#ifndef _MY_TYPE_H
#define _MY_TYPE_H
.
.
.
#endif /* _MY_TYPE_H */
两者均可以。
2、注释:
多行注释的格式为:
/*
* this is the comment…
* this is the comment…
*/
单行注释为:
/* this is the comment */
请注意:
(1)、*与注释文字是有一个空格的;
(2)、在可能方便的情况下可以使用C++格式的注释,注释格式为:
// this is the comment
(3)、注释文字可为中文,亦可为英文,因人而定。
3、Tab宽度:
Tab宽度设置为8。特别情况可以设置为4。
4、文件说明:
一般在主要程序开头处说明了本程序的功能,测试环境,比如所选用的芯片、晶振和所用编译器等等。
5、函数和变量:
程序的变量、函数名称等均用小写表示,但定义的宏大写。函数一般为有表示动作的词语,如有多于两个词,中间可以用下划线连接(即_),也可以不用,名称使用有意思的文字,如:
write_cmd(uint8 cmd)
和
write_command(uint8 command)
或者:
writecmd(uint8 cmd)
和
writecommand(uint8 command)
均为正确形式,可接受。首选第一种方式。但不能接受下列的函数:
int aa(int bb,int cc)
{
return bb + cc;
}
另外:文件名大写小写均可,但要统一使用同一种风格。
6、杂项:
(1)、程序一般均有头文件与相应的函数实现文件,如:M16_SPI.h和M16_SPI.c,在测试程序文件只需要 #include ”M16_SPI.h”即可。不能将所有函数、变量放在M16_SPI.c文件中,更不能出现#include “M16_SPI.c”这类情况,尽管编译器不会报错。
(2)、对于运算符号、逻辑符号等等空格问题,只要能突出主次符号即可,其他者形式不限。
(3)、对于一些C99新增特性,如使用的编译器支持者,采用之。如一般使用
for (int i=0;i<8;i++)
这类的形式。
7、其它未尽事宜,参考Linux内核源代码目录下的Documentation中的CodingStyle文件。
8、本规范仅适用迟思堂工作室,不具代表性。
1、头文件:
头文件一般是声明外部或内部变量、函数以及定义的宏。一般不作变量的初始化。
其格式为:
#ifndef __MY_TYPE_H__
#define __MY_TYPE_H__
.
.
.
#endif /* __MY_TYPE_H__ */
或:
#ifndef _MY_TYPE_H
#define _MY_TYPE_H
.
.
.
#endif /* _MY_TYPE_H */
两者均可以。
2、注释:
多行注释的格式为:
/*
* this is the comment…
* this is the comment…
*/
单行注释为:
/* this is the comment */
请注意:
(1)、*与注释文字是有一个空格的;
(2)、在可能方便的情况下可以使用C++格式的注释,注释格式为:
// this is the comment
(3)、注释文字可为中文,亦可为英文,因人而定。
3、Tab宽度:
Tab宽度设置为8。特别情况可以设置为4。
4、文件说明:
一般在主要程序开头处说明了本程序的功能,测试环境,比如所选用的芯片、晶振和所用编译器等等。
5、函数和变量:
程序的变量、函数名称等均用小写表示,但定义的宏大写。函数一般为有表示动作的词语,如有多于两个词,中间可以用下划线连接(即_),也可以不用,名称使用有意思的文字,如:
write_cmd(uint8 cmd)
和
write_command(uint8 command)
或者:
writecmd(uint8 cmd)
和
writecommand(uint8 command)
均为正确形式,可接受。首选第一种方式。但不能接受下列的函数:
int aa(int bb,int cc)
{
return bb + cc;
}
另外:文件名大写小写均可,但要统一使用同一种风格。
6、杂项:
(1)、程序一般均有头文件与相应的函数实现文件,如:M16_SPI.h和M16_SPI.c,在测试程序文件只需要 #include ”M16_SPI.h”即可。不能将所有函数、变量放在M16_SPI.c文件中,更不能出现#include “M16_SPI.c”这类情况,尽管编译器不会报错。
(2)、对于运算符号、逻辑符号等等空格问题,只要能突出主次符号即可,其他者形式不限。
(3)、对于一些C99新增特性,如使用的编译器支持者,采用之。如一般使用
for (int i=0;i<8;i++)
这类的形式。
7、其它未尽事宜,参考Linux内核源代码目录下的Documentation中的CodingStyle文件。
8、本规范仅适用迟思堂工作室,不具代表性。
相关文章推荐
- 单片机开发之C语言编程基本规范
- 单片机开发之C语言编程基本规范
- 单片机C语言不完全编程规范
- 单片机C语言的编程规范
- 单片机开发之C语言编程基本规范
- 单片机c基本编程规范
- 51单片机教程单片机视频教程单片机自学学习入门C语言郭天祥单片机编程入门AD/DA工作原理运放电路
- 读华为C语言编程规范(函数、头文件)
- 读华为C语言编程规范(标识符、变量)
- 单片机C51编程规范【转】
- CERT Secure Coding Standard — C语言安全编程规范
- 华为C语言编程规范(3)—注释
- 华为C语言编程规范—注释
- 华为C语言编程规范—代码测试、维护
- 【C语言】编程规范——头文件
- 关于C语言编程书写规范的规则和建议
- 华为C语言编程规范(7)—函数、过程
- 专题-C语言编程规范要点
- 51单片机C语言编程中对单片机绝对地址访问的两种方法
- C语言项目开发-项目架构和编程命名规范