C语言头文件编程规范
           
               
                    /*****************************************************************************/
/*字符串长度头文件
/*    版权所有 (C)2012, 于林峰(九江学院)
/*   
/*    文件名称: 头文件
/*    文件标识:
/*    内容摘要: 线性链表的"顺序"表示和实现
/*    其它说明:
/*    当前版本: V1.0
/*    作    者: 于林峰
/*    完成日期: 2012年07月02日
/*    ---------------------------------------------------------------------------
/*  修改记录1:// 修改历史记录,包括修改日期、修改者及修改内容
/*      修改日期:2012年10月02日
/*      版 本 号:
/*      修 改 人:于林峰
/*      修改内容:头文件的包含、函数结果状态码、
/*
/*  修改记录2:…
/*
/*****************************************************************************/
#ifndef    _UNIHEADER_H_
#define    _UNIHEADER_H_
#pragma once
#include <ctype.h>
#include <io.h>            // eof()
#include <iostream.h>
#include <limits.h>        // INT_MAX 等
#include <malloc.h>        // malloc() 等
#include <math.h>        // floor(), ceil(), abs()
#include <process.h>    // exit()
#include <stdio.h>        // EOF(=^Z 或 F6), NULL
#include <stdlib.h>        // atoi() 等
#include <string.h>       
/*****************************************************************************/
/*                                                                            */
/*                标识符命名基本规则(根据中兴公司 C/C++ 编程规范)                */
/*                                                                            */
/* ------------------------------------------------------------------------- */
/*                                                                            */
/* 1. 标识符要采用英文单词或其组合,便于记忆和阅读                            */
/*      切忌使用汉语拼音来命名。                                                */
/*                                                                            */
/*      说明:标识符应当直观且可以拼读,可望文知义,避免使人产生误解。        */
/*            程序中的英文单词一般不要太复杂,用词应当准确。                    */
/*                                                                            */
/* 2. 标识符只能由26个英文字母,10个数字,及下划线的一个子集来组成,        */
/*      并严格禁止使用连续的下划线,                                            */
/*      下划线也不能出现在标识符头或结尾(预编译开关除外)。                    */
/*                                                                            */
/*      说明:这样做的目的是为了使程序易读。                                    */
/*            因为 variable_name 和 variable__name 很难区分,                    */
/*            下划线符号'_'若出现在标识符头或结尾,                            */
/*            容易与不带下划线'_'的标识符混淆。                                */
/*                                                                            */
/* 3. 标识符的命名应当符合"min-length && max-information"原则。                */
/*                                                                            */
/*      说明:较短的单词可通过去掉"元音"形成缩写,                            */
/*            较长的单词可取单词的头几个字母形成缩写,                        */
/*            一些单词有大家公认的缩写,常用单词
           
               
                    的缩写必须统一。                */
/*            协议中的单词的缩写与协议保持一致。                                */
/*            对于某个系统使用的专用缩写应该在某处做
统一说明。                */
/*                                                                            */
/*      正例:如下单词的缩写能够被大家认可:                                    */
/*            temp      可缩写为  tmp                                            */
/*            flag      可缩写为  flg                                            */
/*            statistic 可缩写为  stat                                        */
/*            increment 可缩写为  inc                                            */
/*            message  可缩写为  msg                                            */
/*                                                                            */
/*            规定的常用缩写如下:                                            */
/*                常用词            缩写                常用词            缩写    */
/*                Argument        Arg                    Maximum            Max        */
/*                Buffer            Buf                    Message            Msg        */
/*                Clear            Clr                    Minimum            Min        */
/*                lock            Clk                    Multiplex        Mux        */
/*                Compare            Cmp                    Operating System    OS    */
/*                Configuration    Cfg                    Overflow        Ovf        */
/*                Context            Ctx                    Parameter        Param    */
/*                Delay            Dly                    Pointer            Ptr        */
/*                Device            Dev                    Previous        Prev    */
/*                Disable            Dis                    Priority        Prio    */
/*                Display            Disp                Read            Rd        */
/*                Enable            En                    Ready            Rdy        */
/*                Error            Err                    Register        Reg        */
/*                Function        Fnct                Schedule        Sched    */
/*                Hexadecimal        Hex                    Semaphore        Sem        */
/*                High Priority Task    HPT                Stack            Stk        */
/*                I/O System        IOS                    Synchronize        Sync    */
/*                Initialize        Init                Timer            Tmr        */
/*                Mailbox            Mbox                Trigger            Trig    */
/*                Manager            Mgr                    Write            Wr        */
/*                                                                            */
/* 4. 程序中不要出现仅靠大小写区分的相似的标识符。                            */
/*                                                                            */ 
/* 5. 尽量避免名字中出现数字编号,如Value1、Value2等,除非逻辑上的确需要编号 */
/*                                                                            */
/* 6. 常用变量类型前缀如下:                                                */
/*      i    : int                            b    : BOOL                            */
/*      f    : float                        h    : HANDLE                        */
/*      d    : double                        w    : unsigned short 或 WORD        */
/*      c    : char                            dw    : DWORD或 unsigned long        */
/*      uc: unsigned char 或 BYTE        a    : 数组,array of TYPE            */
/*      l    : long                            str    : 字符串                        */
/*      p    : pointer                        t    : 结构类型                        */
/*                                                                            */
/*      以上前缀可以进一步组合。                                                */
/*      在进行组合时,数组和指针类型的前缀指示符必须放在变量类型前缀的首位。    */
/*                                                                            */
/* 7. 完整的变量名应由"前缀" + "变量名主体"组成,                            */
/*      变量名的主体应当使用"名词"或者"形容词+名词",且首字母必须大写。        */
/*                                                                            */
/*      说明:各种前缀字符可能组合使用。在这种情况下,各前缀顺序为:            */
/*            变量作用域前缀、变量类型前缀。                                    */
/*      正例:                                                                */
/*            float  g_
           
               
                    fValue;        // 类型为浮点数的全局变量                */
/*            char  *pcOldChar;      // 类型为字符指针的局部变量                */
/*                                                                            */
/*****************************************************************************/
/*******
**********************************************************************/
/*                                                                            */
/*                            常量                                            */
/*                                                                            */
/* ------------------------------------------------------------------------- */
/*                                                                            */
/* 1. 宏、常量名都要使用大写字母, 用下划线 '_' 分割单词。                    */
/*      预编译开关的定义使用下划线 '_' 开始。                                    */
/*                                                                            */
/*      正例:如 DISP_BUF_SIZE、MIN_VALUE、MAX_VALUE 等等。                    */
/*                                                                            */
/*****************************************************************************/
// 函数结果状态代码
#define TRUE        1    // 布尔类型值
#define FALSE        0    // 布尔类型值
#define OK            1    // 函数类型值——函数结果状态代码
#define ERROR        0    // 函数类型值——函数结果状态代码
#define INFEASIBLE    -1    // 函数类型值——函数结果状态代码
//#define OVERFLOW    -2    // 因为在 math.h 中已定义 OVERFLOW 的值为 3,故注释掉此行
#define LIST_INIT_SIZE    10    // 顺序线性链表存储空间的初始分配量
#define LIST_INCREMENT    2    // 顺序线性链表存储空间的分配增量
/*****************************************************************************/

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。