RTEMS 源文件编写规则:
1. 参考Doxygen 编写规则,这个比较复杂,会另写一篇博文进行解释。
2. 开头每个文件的简要说明,然后是许可证,参考如下:
/** * @file * * @ingroup TheGroupForThisFile * * @brief Short "Table of Contents" Description of File Contents * * A short description of the purpose of this file. *//* * Copyright (c) 20XX Your Name Or Your Company. * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at * http://www.rtems.org/license/LICENSE. */3.使用/* */进行注释
4. 在函数体内进行注释,解释但不用冗长
5用英语散文,努力学习语法,拼写和标点符号.
6.使用TODO:发表注释,指出需要改进的代码。 明确说明要做什么
7.使用XXX或FIXME来指示错误/错误/破坏的代码
语言和编译器:
1. 使用c99 c语言官方第二套标准
2.不要使用编译器扩展。
3.对空指针使用NULL,并且对NULL使用显式检查,例如if(ptr!= NULL)而不是if(!ptr)
4.对变量中的位进行显式检查。
比如使用if(XBITS ==(var&XBITS))来检查一组定义的位。
使用if((var&X_FLAGS)!= 0)),而不是if(!!(var&X_FLAGS))来检查集合中至少1个定义的位。
5. 使用'(void)unused' 在设置后立即标记未使用的参数和设置但未使用的变量。
6.不要将函数原型放在C源文件中,任何全局函数都应该在头文件中有一个原型,任何私有函数都应该声明为静态的。
7.在一个头文件中声明全局变量。 在最多一个源文件中定义全局变量。 如果可能,包括将全局变量声明为第一个包含文件的头文件,以确保编译器检查声明和定义,并且头文件是独立的。
8.不要将参数转换为任何printf()或printk()变体。 对于支持的类型,使用<inttypes.h> PRI常量。 对于其中定义了PRI常量的其他POSIX和RTEMS类型,请使用<rtems / inttypes.h>。 这增加了printf()格式的可移植性。
格式:
1.使用space空格而不是tab
2.每行限制为80个字符。
3.将函数返回类型和名称放在一行,如果它们适合。
4.功能名称或类似功能的宏和开口括号之间没有空格。
5.将条形表达式结束后,将大括号放在同一行和一个空格之间。
6.取消引用运算符( - >和.)之间没有空格。
7.不要在一行中使用多个空白行。
8.不要在行末尾使用尾随空格。
可读性:
1. 使用typedef删除'struct',但不要使用typedef来隐藏指针或数组。
2.不要混合变量声明和代码。
3.在块的开始处声明变量。
4.只能在其声明中使用变量的原始初始化。 在变量声明中避免复杂的初始化或函数调用。
5.不要在函数内部声明函数。
6.在条件循环语句中避免复杂的逻辑。