欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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.{}不能少

  EDKII coding style(C programming language )对于if,for,while等语句来说,函数体部分即使只有一条语句,也要用{}括起来。

  EDKII coding style(C programming language )大括号({)应始终显示在上一行的末尾。

  正确:

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.)