代码规范说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
代码开发规
对于新增代码或者修改的代码应按代码规要求进行编写。
一、通用规
1.1 Kconfig文件:
格式:注释部分以#开头,空一格开始写注释容。
一级容“config”顶头开始
二级容开头空白处为一个制表符,相当于8个空格
三级容开头空白处为一个制表符再加两个空格,即比二级容缩进两个空格容:help说明部分必须有,为第三级容,需说明帮助信息,分段的容需空一行,每块config间空一行。
以文件系统fs下的Kconfig示例如下图1.1,‘□’代表一个空格,短横线‘-’所占一行代表一个空行:
图1.1
#
#□File system configuration
#
----------------------------------------------------------------
menu "File systems"
----------------------------------------------------------------
config EXT2_FS
□□□□□□□□tristate "Second extended fs support"
□□□□□□□□help
□□□□□□□□□□Ext2 is a standard Linux file system for hard disks.
□□□□□□□□□□To compile this file system support as a module, choose □□□□□□□□□□M here: the module will be called ext2. Be aware □□□□□□□□□□however that the file system of your root partition □□□□□□□□□□(the one containing the directory /) cannot be compiled □□□□□□□□□□as a module, and so this could be dangerous.
----------------------------------------------------------------
□□□□□□□□□□If unsure, say Y.
-----------------------------------------------------------------
config EXT2_FS_XATTR
□□□□□□□□bool "Ext2 extended attributes"
□□□□□□□□depends on EXT2_FS
□□□□□□□□help
□□□□□□□□□□Extended attributes are name:value pairs associated
□□□□□□□□□□with inodes by the kernel or by users (see the attr(5) □□□□□□□□□□manual page, or visit
-----------------------------------------------------------------
□□□□□□□□□□If unsure, say N.
1.2头文件.h和.c文件规说明
格式:制表符宽度相当于8个空格
1.2.1文件首部注释
文件首部的注释用于说明文件信息,可选项目包括:
文件所属模块
主要函数实现
作者信息
信息
软件说明
以上容为可选信息,一个文件中不一定包含全部信息,由开发者根据重要性来确定。
注释格式必须是块注释形式,即:以/*行开头,以*/行结束,中间每一行前面均加一个*,每行的*号在竖直方向是对齐排列的,容部分距离行首的距离为4个字符,每段容间空一行;作者信息部分若有多个作者,则每个作者单列一行,并与其他作者信息对齐;信息按时间段可分行说明,保持部对齐。
示例如下图1.2,其中方框'□'代表一个空格:
图1.2
/*
□*□□NSA Security-Enhanced Linux (SELinux) security module
*
□*□□This file contains the SELinux hook function implementations.
*
□*□□Authors: Stephen Smalley, <>
* Chris Vance,
*
□*□□Copyright (C) 2001,2002 Networks Associates Technology, Inc.
□*□□Copyright (C) 2004-2005 Trusted Computer Solutions, Inc.
□*
*
□*□□This program is free software; you can redistribute it and/or
□*□□modify it under the terms of the GNU General Public License
□*□□version 2,as published by the Free Software Foundation.
□*/
1.2.2代码注释
新增或修改的代码重要部分可以添加注释。代码注释统一用’/*’和’*/’整块注释,注释容与’*’间用空格隔开,若注释是多行,则采用类似首部注释的格式,每行注释前面都有一个’*’。
(1)函数定义注释
注释可选项目:函数说明/参数信息/返回值信息/使用信息