首页 > 技术文章 > RTEMS 源文件coding conventions

sichenzhao 2017-05-14 23:18 原文

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.在条件循环语句中避免复杂的逻辑。

推荐阅读