c语言安全编码规范文档格式.docx

上传人:b****2 文档编号:5128572 上传时间:2023-05-04 格式:DOCX 页数:13 大小:18.64KB
下载 相关 举报
c语言安全编码规范文档格式.docx_第1页
第1页 / 共13页
c语言安全编码规范文档格式.docx_第2页
第2页 / 共13页
c语言安全编码规范文档格式.docx_第3页
第3页 / 共13页
c语言安全编码规范文档格式.docx_第4页
第4页 / 共13页
c语言安全编码规范文档格式.docx_第5页
第5页 / 共13页
c语言安全编码规范文档格式.docx_第6页
第6页 / 共13页
c语言安全编码规范文档格式.docx_第7页
第7页 / 共13页
c语言安全编码规范文档格式.docx_第8页
第8页 / 共13页
c语言安全编码规范文档格式.docx_第9页
第9页 / 共13页
c语言安全编码规范文档格式.docx_第10页
第10页 / 共13页
c语言安全编码规范文档格式.docx_第11页
第11页 / 共13页
c语言安全编码规范文档格式.docx_第12页
第12页 / 共13页
c语言安全编码规范文档格式.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

c语言安全编码规范文档格式.docx

《c语言安全编码规范文档格式.docx》由会员分享,可在线阅读,更多相关《c语言安全编码规范文档格式.docx(13页珍藏版)》请在冰点文库上搜索。

c语言安全编码规范文档格式.docx

  2.9在典型算法前都有注释。

  2.10利用缩进来显示程序的逻辑结构,缩进量一致并以tab键为单位,定义tab为6个字节。

  2.11循环、分支层次不要超过五层。

  2.12注释可以与语句在同一行,也可以在上行。

  2.13空行和空白字符也是一种特殊注释。

  2.14一目了然的语句不加注释。

  2.15注释的作用范围可以为:

定义、引用、条件分支以及一段代码。

  2.16注释行数(不包括程序头和函数头说明部份)应占总行数的1/5到1/3。

  3.结构化要求

  3.1禁止出现两条等价的支路。

  3.2禁止goto语句。

  3.3用iF语句来强调只执行两组语句中的一组。

禁止elsegoto和elseRetuRn。

  3.4用case实现多路分支。

  3.5避免从循环引出多个出口。

  3.6函数只有一个出口。

  3.7不使用条件赋值语句。

  3.8避免不必要的分支。

  3.9不要轻易用条件分支去替换逻辑表达式。

  4.正确性与容错性要求

  4.1程序首先是正确,其次是优美

  4.2无法证明你的程序没有错误,因此在编写完一段程序后,应先回头检查。

  4.3改一个错误时可能产生新的错误,因此在修改前首先考虑对其它程序的影响。

  4.4所有变量在调用前必须被初始化。

  4.5对所有的用户输入,必须进行合法性检查。

  4.6不要比较浮点数的相等,

  如:

10.0*0.1==1.0,不可靠

  4.7程序与环境或状态发生关系时,必须主动去处理发生的意外事件,如文件能否逻辑锁定、打印机是否联机等。

  4.8单元测试也是编程的一部份,提交联调测试的程序必须通过单元测试。

  5.可重用性要求

  5.1重复使用的完成相对独立功能的算法或代码应抽象为公共控件或类。

  5.2公共控件或类应考虑oo思想,减少外界联系,考虑独立性或封装性。

  5.3公共控件或类应建立使用模板。

  附:

c++编程规范,delphi作相应的参考

  1适用范围

  本标准适用于利用Visulc++,borlandc++进行软件程序开发的人员.。

  2变量命名

  命名必须具有一定的实际意义,形式为xabcFgh,x由变量类型确定,abc、Fgh示连续意义字符串,如果连续意义字符串仅两个,可都大写.如ok.

  具体例程:

  bool类型benable;

  ch*charchtext

  c*类对象cmain(对象实例)

  h*handle(句柄)hwnd

  i*int

  n*无符号整型

  p*指针

  sz,str*字符串

  wwoRd

  x,y坐标

  char或者tchaR类型与windowsapi有直接联系的用szappname[10]形式否则用Filename[10]形式,单个字符也可用小写字母表示;

  int类型ncmdshow;

  long类型lparam;

  uint类型unotify;

  dwoRd类型dwstart;

  pstR类型psztip;

  lpstR类型lpcmdline

  lptstR类型lpszclassname;

  lpVoid类型lpReserved

  wpaRam类型wparam,

  lpaRam类型lparam

  hwnd类型hdlg;

  hdc类型hdc;

  hinstance类型hinstance

  handle类型hinstance,

  hicon类型hicon;

  int类型itmp

  float类型ftmp

  dwoRddw*

  string,ansistringstr*

  m_类成员变量m_nVal,m_bFlag

  g_全局变量g_nmsg,g_bFlag

(c语言安全编码规范)  局部变量中可采用如下几个通用变量:

ntemp,nResult,i,j(一般用于循环变量)。

  3常量命名和宏定义

  常量和宏定义必须具有一定的实际意义;

  常量和宏定义在#include和函数定义之间;

  常量和宏定义必须全部以大写字母来撰写,中间可根据意义的连续性用下划线连接,每一条定义的右侧必须有一简单的注释,说明其作用;

  资源名字定义格式:

  菜单:

idm_xx或者cm_xx

  位图:

idb_xx

  对话框:

idd_xx

  字符串:

ids_xx

  dlginit:

dialog_xx

  icon:

idR_xx

  4函数命名

  函数原型说明包括引用外来函数及内部函数,外部引用必须在右侧注明函数来源:

模块名及文件名,如是内部函数,只要注释其定义文件名;

  第一个字母必须使用大写字母,要求用大小写字母组合规范函数命名,必要时可用下划线间隔,示例如下:

  voidupdatedb_tfgd(tRack_name);

file:

//modulename:

r01/sdw.cvoidprinttrackdata(tRack_name);

r04/tern.cvoidimportantpoint(void);

r01/sdw.c

  voidshowchar(int,int,chtype);

//localmodule

  voidscrollup_V(int,int);

  5结构体命名

  结构体类型命名必须全部用大写字母,原则上前面以下划线开始;

结构体变量命名必须用大小写字母组合,第一个字母必须使用大写字母,必要时可用下划线间隔。

对于私有数据区,必须注明其所属的进程。

全局数据定义只需注意其用途。

  示例如下:

  typedefstruct

  {

  charszproductname[20];

  charszauthor[20];

  charszReleasedate[16];

  charszVersion[10];

  unsignedlongmaxtables;

  unsignedlongusedtables;

  }dbs_database;

  dbs_databasegdatabase;

  6控件的命名:

  用小写前缀表示类别

  用小写前缀表示类别:

  fm窗口

  cmd按钮

  cobcombo,下拉式列表框

  txt文本输入框

  lablabal,标签

  imgimage,图象

  picpicture

  grdgrid,网格

  scr滚动条

  lst列表框

  frmfram

  7注释

  原则上注释要求使用简体中文;

  文件开始注释内容包括:

公司名称、版权、作者名称、时间、模块用途、背景介绍等,复杂的算法需要加上流程说明;

  函数注释包括:

输入、输出、函数描述、流程处理、全局变量、调用样例等,复杂的函数

  需要加上变量用途说明;

  程序中注释包括:

修改时间和作者、方便理解的注释等;

  引用一:

文件开头的注释模板

  /******************************************************************

  **文件名:

  **copyright(c)1998-1999北京民航中天科技有限责任公司硬件产品开发部**创建人:

  **日期:

  **修改人:

  **描述:

  **

  **版本:

  **-----------------------------------------------------------------------------

  ******************************************************************/

  引用二:

函数开头的注释模板

  /*******************************************************************函数名:

  **输入:

a,b,c

  **a---

  **b---

  **c---

  **输出:

x---

  **x为1,表示...

  **x为0,表示...

  **功能描述:

  **全局变量:

  **调用模块:

  **作者:

  **修改:

  **版本

  ****************************************************************/引用三:

程序中的注释模板

  /*----------------------------------------------------------*/

  /*注释内容*/

  8程序

  a.程序编码力求简洁,结构清晰,避免太多的分支结构及太过于技巧性的程序,尽量不采用递归模式。

  篇三:

c语言程序设计编码规范

  文档名称

  卓望数码技术(深圳)有限公司版权所有

  内部资料注意保密

  所有权声明

  本文档的内容将做定期性的变动,且不另行通知。

更改的内容将会补充到本手册中。

除特别声明外,此文档所用的公司名称、个人姓名及数据均属为说明的目的而模拟。

本文档的版权属卓望数码技术(深圳)有限公司(本公司)所有,受中华人民共和国法律的保护。

  本文档所含的任何构思、设计、工艺及其他技术信息均属本公司所有,受中华人民共和国法律的保护。

未经本公司书面同意,任何单位和个人不得擅自摘抄、全部或部分复制本书内容,或者以其他任何方式使第三方知悉。

  misc为卓望数码技术(深圳)有限公司所有,不得仿冒。

  目录

  第一章介绍.................................................................................................................5第二章编码规范.........................................................................................................6

  1总则.......................................................................................................................................6

  1.1功能模块编码原则....................................................................................................61.2编程标准....................................................................................................................61.3头文件标准................................................................................................................61.4源代码层次................................................................................................................72命名约定...............................................................................................................................7

  2.1类型命名....................................................................................................................72.2变量命名....................................................................................................................82.3函数及数组的命名....................................................................................................92.4宏命名......................................................................................................................102.5命名长度..................................................................................................................103程序规则.............................................................................................................................10

  3.1常量的声明和定义..................................................................................................10

  3.1.1常量定义规则...............................................................................................103.1.2为常量声明宏...............................................................................................103.2变量声明和定义......................................................................................................12

  3.2.1注意要点.......................................................................................................123.2.2初始化...........................................................................................................123.3函数声明和定义......................................................................................................13

  3.3.1参数的规则...................................................................................................133.3.2返回值的规则...............................................................................................143.3.3函数内部实现的规则...................................................................................153.3.4其它...............................................................................................................153.4语句..........................................................................................................................16

  3.4.1if语句...........................................................................................................16

  3.4.1.1变量与常量的比较............................................................................163.4.1.2布尔变量与零值比较........................................................................163.4.1.3整型变量与零值比较........................................................................163.4.1.4浮点变量与零值比较........................................................................173.4.1.5指针变量与零值比较........................................................................173.4.1.6对if语句的补充说明.......................................................................173.4.2for语句的循环控制变量.............................................................................183.4.3switch语句................................................................................................183.4.4禁止语句.......................................................................................................193.5返回码......................................................................................................................194排版格式规则.....................................................................................................................19

  4.1空行..........................................................................................................................194.2代码行......................................................................................................................204.3代码行内的空格......................................................................................................214.4分行..........................................................................................................................224.5对齐..........................................................................................................................224.6修饰符的位置..........................................................................................................234.7预处理(宏)..........................................................................................................244.8变量、类型声明......................................................................................................24

  5

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 财务管理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2