EDKII coding style(C programming language )
程序员文章站
2022-07-04 15:00:17
...
1.关于变量,函数和文件名的命名(CamelCase used for variables, functions and file names)
命名的时候不能出现破折号、下划线等特殊符号,最好都使用英文字母(可用大小写区分)
也就是说:首字母大写,如果一个字符串是又几个单词拼接形成的,这几个单词的首字母要大写,其他部分小写,而不能都用小写且采用下划线等不规范来替代。(这种命名方式)也叫做CamelCase,出现“峰”,即大写)
正确命名:
#include "FooFileName.h"
...
VOID SuperFunction (
...
UINTN ALocalVariable;
UINTN UefiVersion;
错误命名(不规范)
#include "foo-file_name.h"
...
VOID superFunction (
...
UINTN a_local_variable;
UINTN UEFIVersion;
2.关于类型(types)和宏(macros)(UPPERCASE used for types and macros)
类型名和宏名要都采用大写(可以出现下划线)
正确命名:
#define FOO_MACRO(a, b) ((a) * (b))
typedef struct _STRUCT_NAME STRUCT_NAME;
struct _STRUCT_NAME {
...
};
错误命名:
int ALocalVariable;
unsigned int UefiVersion;
void *Ptr;
3.两格缩进
正确缩进:
if (TRUE) {
Print (L"Hello, world!\n");
}
错误缩进:
if (TRUE) {
Print (L"Hello, world!\n");
}
4.{}不能少
对于if,for,while等语句来说,函数体部分即使只有一条语句,也要用{}括起来。
大括号({)应始终显示在上一行的末尾。
正确:
if (TRUE) {
Print (L"Hello, world!\n");
}
错误:
if (TRUE)
Print (L"Hello, world!\n");
5.运用UEFI的类型而不是用C的类型
- int=>INTN; unsigned int=>UINTN; void=>VOID; etc...
6.每一行的字符不得多于80个
7.不要用制表符来插入空格,就用一般的空格键就好了(Never use tab characters,
- Set editor to insert spaces rather than a tab character.)
上一篇: Verilog coding style
下一篇: 一、基本图形绘制-画线