首页>计算机>软件水平考试>复习指导>正文
C语言的代码规范探讨

www.zige365.com 2010-8-6 17:33:03 点击:发送给好友 和学友门交流一下 收藏到我的会员中心

        1.C语言书写规范
  1.1符号命名规则
  1.1.1符号名包括模块名、常量名、标号名、子程序名等。这些名字应该能反映它所代表的实际东西,具有一定的意义,使其能够见名知义,有助于对程序功能的理解。命名采用匈牙利命名法。规则如下:
  (1)所有宏定义、枚举常数和const变量,用大写字母命名。在复合词里用下划线隔开每个词。
  (2)复合词中每个单词的第一个字母大写。除了规则5.1.1.1以外,避免使用下划线。
  (3)类、类型定义和枚举型名的第一个字母大写。
  (4)函数名是复合词的,第一个词采用全部小写,随后每个单词采用第一个字母大写,其它字母小写方式;如果是单个词的,采用全部小写方式。
  (5)循环变量可采用i, j, k等,不受上述规则限制。
  (6) 类的成员变量应采用m_开头。
  (7) 全局变量词头为g_ 。
  (8) 临时变量词头为tmp_ 。
  (9) 对结构体内的变量命名, 遵循变量的具体含义命名原则
  (10)用小写字母的前缀表示变量的类型,前缀的下一个字母用大写。
  表 1
  词 头 类 型 词 头 类 型
  ch char l long
  i integer u unsigned
  b boolean p pointer
  f float lp long pointer
  d double s string
  st structure sz ASCII string
  by byte n short int
  H handle x,y 分别为x,y坐标
  dw DWORD fn function
  表 2
  词 头 变 量 名 词 头 变 量 名
  task task sig signal
  sb binary semaphores wd watchdog
  sm mutual exclusion
  semaphores tm timer
  sc counting semaphores msg message
  pipe pipe
  例:
  #define ARRAY_SIZE 24 /规则5.1.1.1/
  int g_iFlag;
  class MyClass /规则5.1.1.3/
  {
  };
  void someFunc( ) /规则5.1.1.2和5.1.1.4/
  {
  .2.
  Q/ECC/BJ 010—2001
  int nArray【ARRAY_SIZE】;
  unsigned char uchByte;
  char szName【 】;
  char pszName = szName;
  }
  (11)有些词头(如p和u)可以和其它词头组合。
  例:WDOG_ID wdId;
  WDOG_ID g_wdId; /全局watchdog Id,故以g_开头/
  1.1.2名字的长度一般不要过长或过短。过长的名字会增加工作量,使程序逻辑流程变得模糊;过短的名字无法表达符号的实际意义。约定长度范围:3-31;
  1.2数据和函数说明
  1.2.1数据说明次序应当规范化,使数据属性容易查找,也有利于测试、排错和维护。说明的先后次序应固定,应按逻辑功能排序,逻辑功能块内建议采用下列顺序:整型说明、实型说明、字符说明、逻辑量说明。
  1.2.2如果设计了一个复杂的数据结构,应当通过注释对其变量的含义、用途进行说明。
  1.2.3在函数的声明中使用异常声明。
  如:void f() throw(toobig, toosmall, divzero);
  在声明一个函数时,将它所抛出的异常列出,便于函数的使用者了解可能会发生哪些异常。
  1.3 程序注释
  1.3.1程序注释是程序员与日后的程序读者之间通信的重要手段之一,注释分为文件注释、函数注释和功能注释。
  1.3.2正规程序的注释应注意:
  ——注释行的数量占到整个源程序的1/3到1/2。
  1.3.3文件注释位于整个源程序的最开始部分,注释后空两行开始程序正文。它包括:
  ——程序标题。
  ——目的、功能说明。
  ——文件作者、最后修改日期等说明。
  例:
  ./
  (空一行)
  标题: Demo.c
  功能: 测试VxWorks的各种系统调用.
  说明:
  该程序测试各种VxWorks的系统调用函数。包括任务(taks)的创建、挂起及任务间通过信号灯实现同步,通过消息队列进行通讯。
  程序创建了两个任务:一个高优先级的任务和一个低优先级的任务。两个任务间通过一个二进制的信号灯进行同步,通过消息队列进行通讯。

本新闻共3页,当前在第1页  1  2  3  

我要投稿 新闻来源: 编辑: 作者:
相关新闻