学习linux内核或者linux驱动的人应该先掌握内核编码规范,这样才能更好的驾驭linux内核、驱动。
下面就从这几个方面讲解一下linux内核编码规范。
注释风格、排版风格、头文件风格、变量定义、宏定义、函数
1 注释风格
1.1 注释的原则是有助于对程序的阅读和理解,注释不宜太多也不能太少。注释语言必须准确、易懂、简洁,没有歧义性。
1.2 程序文件头部代码应进行注释。注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其他文件的关系、修改日志等。头文件的注释中还应有函数功能简要说明。
/*
* Copyright(C), 2007-2008, Red Hat Inc. // 版权声明
* File name: // 文件名
* Author: // 作者
* Version: // 版本
* Date: // 完成日期
* Description: // 描述本文件的功能,与其他模块的关系
* Function List: // 主要函数的列表,每条记录应包括函数名及功能简要说明
* History: // 修改历史,包括每次修改的日期、修改者和修改内容简述
*/
1.3 函数头部应进行注释,列出函数的功能、输入参数、输出参数、返回值、调用关系等。
/*
* Function: // 函数名称
* Description: // 函数功能、性能等的描述
* Calls: // 被本函数调用的函数清单
* Called By: // 调用本函数的函数清单
* Input: // 输入参数说明,包括每个参数的作用
* Output: // 输出参数说明,有时通过指针参数返回一些变量值
* Return: // 函数返回值的说明
* Others: // 其他说明
*/
1.4 对于所有有特定含义的变量、常量、宏、结构体等数据结构,如果其命名不是充分自注释的,在声明时都必须加上注释,说明其实际含义。变量、常量、宏的注释应放在其上方或右方。
1.5 全局变量要有较详细的注释,包括功能,取值范围,哪些函数访问它,访问时的注意事项。
1.6 为使程序排版整齐,方便阅读和理解,注释也要进行缩进和对齐。
void example_function( void )
{