C语言的编码规范

C语言的编码规范

C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。下面是分享的C语言的编码规范,一起来看看吧。

1. 基本要求

1.1 程序结构清析,简单易懂,单个函数的程序行数不得超过100行。

1.2 打算干什么,要简单,直接了当,代码精简,避免垃圾程序。

1.3 尽量使用标准库函数和公共函数。

1.4 不要随意定义全局变量,尽量使用局部变量。

1.5 使用括号以避免二义性。

2.可读性要求

2.1 可读性第一,效率第二。

2.2 保持注释与代码完全一致。

2.3 每个源程序文件,都有文件头说明,说明规格见规范。

2.4 每个函数,都有函数头说明,说明规格见规范。

2.5 主要变量(结构、联合、类或对象)定义或引用时,注释能反映其含义。

2.7 常量定义(DEFINE)有相应说明。

2.8 处理过程的每个阶段都有相关注释说明。

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 语句来强调只执行两组语句中的一组。禁止 ELSE GOTO 和 ELSE RETURN。

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语言的编码规范

1 排版规则

1) 程序应采用缩进风格编写,每层缩进使用一个制表位(TAB),类定义、方法都应顶格书写;

2) 源程序建议使用英文书写,尽量不含有中文。每行不超过80字符。对于较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读;循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分;

3) 左花括号要另起一行,不能跟在上一行的行末;

4) 一个变量定义占一行,一个语句占一行;

5) 对***的程序块之间、变量说明之后必须加空行;

6) 在结构成员赋值等情况,等号对齐,最少留一个空格;

7) 若函数或过程中的参数较长,则要进行适当的划分。

8) 形参的排序风格:

最常使用的参数放在第一位;

输入参数列表应放在输出参数列表的左边;

将通用的参数放在特殊的参数的左边。

2 命名规范

2.1 应用程序的命名

“系统简称”+模块名称

2.2 子模块的命名

每个子模块的名字应该由描述模块功能的1-3以单词组成。每个单词的首字母应大写。在这些单词中可以使用一些较通用的缩写。

2.3 变量的命名

变量的命名的基本原则是使得变量的含义能够从名字中直接理解。可以用多个英文单词拼写而成,每个英文单词的首字母要大写,其中英文单词有缩写的可用缩写;变量的前缀表示该变量的类型;对于作用域跨越10行以上的变量名称不能少于4个字符,除循环变量,累加变量外不得使用I、j、k等名称的变量。变量分为取全局变量和局部变量,对于全局变量以加前缀“g_”来区分。

使用有意义的英语单词,使用大小写分隔,每个单词的第一个字母为大写

 

考虑到习惯性和简洁性,对于按常规使用的局部变量允许采用极短的名字,如用n、i作为循环变量,p、q作为指针等。另外,要注意的是:全局变量在程序中不要定义太多,能用局部变量的就用局部变量。如果要使用相关的变量,建议采用类的方式或者结构的方式存放,以减少具体变量的个数。

2.4 常量的命名

常量所有的字母均为大写。并且单词之间使用下划线”_”隔开。

2.5 函数/过程的命名

函数/过程名称应该尽量使用能够表达函数功能的英文名称,函数名称中应该禁止使用如同function1,function2等含义不清的名称。单词间应该使用大小写分隔。全局函数/过程名称以“g_”前缀开始。

2.6 接口命名

接口名称要以大写字母开头。如果接口包含多个单词,每个单词的首字母大写,其他字母小写,如果,这些单词是缩略语(例如XML),也要首字母大写,其他字母小写(写为Xml)。

2.7 类的命名

类名称要以大写字母开头;

类名称如果包含多个单词,每个单词的首字母要大写,其他字母小写;如果这些单词是缩略语(例如XML),也要首字母大写,其他字母小写(写作Xml);

类名称应该是一个名词或名词短语;

类成员变量的命名规则与上述规则相同,但是要以“m_”开始,表示其为成员变量(Member);

类名称不能出现下划线。

2.8 方法的命名

方法名称以小写字母开头。

方法名称如果包含多个单词,除了第一个单词外,每个单词的首字母大写,其它字

母小写。如果这些单词是缩略语(例如XML),也要首字母大写,其它字母小写(写作Xml)。

方法名称应该是一个动词或动名词短语,意思是“完成什么功能”,“执行什么操作”。

2.9 数据库的命名

2.9.1 表:

采用“模块名简称+前缀+’_’+表名”的命名规则。表名以能理解该表的内容为原则,

可由中文表示,也可由代表此表含义的英文字母组成;首字母大写;前缀代表此表类别。

2.9.2 视***:

采用“模块名+’_’+视***名+’视***’”的命名规则,通常由8个以内汉字组成。

2.9.3 存储过程:

采用“Proc+模块名+’_’+存储过程名”的命名规则。

2.9.4 触发器:

采用“模块名+’’+触发类型+’’+表名”的命名规则,如果有多个触发类型,则可以叠加在一起。

2.9.5 字段:

字段的命名以能理解该字段的含义为原则,通常由多个英文单词加前缀拼写而成,而组成字段名称的首字母应大写。单词有缩写的可用缩写。字段的前缀表示该字段的数据类型,其取值详见“数据类型”描述。原则上,字段的命名长度不超过18字节;描述字段的中文名称,用数据库创建工具设计数据库时,需要输入。

3 参数的约定

3.1 输入参数的约定

有些函数有输入参数,这些参数指由函数外部(调用者)输入,并在函数内部使用。在函数业务流程说明后跟输入参数说明区,用“输入参数”或“Input Parameters”标记。在参数名列表中的每个参数后增加该参数的注释。

3.2 输出参数的约定

有些函数有输出参数,这些参数指由函数外部(调用者)定义,在函数内部使用并返回给调用者的参数。在输入参数说明区后跟输出参数说明区,用“输出参数”或 “Output Parameters”标记。在参数名列表中的每个参数后增加该参数的注释。另外输出参数一般以指针或应用输出。

3.3 返回值的约定

每个函数均有返回值,除非操作非常简单。对于有不同状态的返回值,建议用long型的返回值,0为成功。对于出错类返回值,在同一层次的模块,用统一代码表示。在输出参数说明区后跟返回值说明区,用“返回值”或“Return values”标记。返回值说明,要说明各种不同类型返回值以及它们的含义。

转载请注明出处我优求知网 » C语言的编码规范

学习

拆除施工合同(通用)

阅读(41)

本文为您介绍拆除施工合同(通用),内容包括拆除施工合同,拆除施工合同怎么签,拆除施工合同参考范本。签订拆除施工合同要注意什么

学习

室内拆除工程的简单合同范本(精选)

阅读(72)

本文为您介绍室内拆除工程的简单合同范本(精选),内容包括室内装修拆除合同范本,房屋拆除合同的范本,拆除公司合同免费范本。一、合同订立需要注意以下问题:

学习

如何1秒搞定熊孩子

阅读(68)

本文为您介绍如何1秒搞定熊孩子,内容包括搞定熊孩子100招,搞定熊孩子小妙招,唐唐一招搞定熊孩子。熊孩子常形容调皮的孩子,岁数小不懂事,并且没有受到良好的家庭教育。那么我们又应该如何1秒搞定熊孩子呢?

学习

工程承包合同模板(精选)

阅读(88)

本文为您介绍工程承包合同模板(精选),内容包括项目个人承包合同标准范本,建筑施工总承包合同最新范本,钢结构承包合同模板。合同与协议的区别双方的意思都表示一致而达成的一种契约。简单地说,就是你情我愿,然后我们把大家都同意的事情固定

学习

建设工程合同(精选)

阅读(32)

本文为您介绍建设工程合同(精选),内容包括建设工程合同管理,建设工程合同纠纷,建设工程合同包括哪些合同。一、合同与协议的区别双方的意思都表示一致而达成的一种契约。简单地说,就是你情我愿,然后我们把大家都同意的事情固定下来,说明白,说

学习

建设工程承包合同(精选)

阅读(50)

本文为您介绍建设工程承包合同(精选),内容包括建设工程承包合同范本,建设工程承包合同包括,建设工程承包合同如何有效。合同的法定含义合同是民事主体之间设立、变更、终止民事法律关系的协议。依法成立的合同,受法律保护。依法成立的合同,

学习

合作默契的团队游戏

阅读(43)

本文为您介绍合作默契的团队游戏,内容包括激励团队士气的游戏,团队默契配合游戏,好玩的团队竞技游戏。导读:考反应及合群程度,看是否合作默契的游戏有哪些?以下是由应届毕业生网J.L为您整理推荐的励志团队游戏,欢迎参考阅读。

学习

精选班主任培训心得体会 汇编

阅读(67)

本文为您介绍精选班主任培训心得体会 汇编,内容包括班主任培训反思,培训机构班主任管理心得体会。精选班主任培训心得体会汇编15篇当我们受到启发,对生活有了新的感悟时,可以记录在心得体会中,这样可以帮助我们总结以往思想、工作和学习。

学习

在银行工作心得体会

阅读(65)

本文为您介绍在银行工作心得体会,内容包括银行心得体会和下一步工作目标,银行保安工作心得体会。在银行工作心得体会(13篇)有了一些收获以后,可以寻思将其写进心得体会中,这样就可以通过不断总结,丰富我们的思想。那么如何写心得体会才能更

学习

工程竣工验收自评报告(精选)

阅读(118)

本文为您介绍工程竣工验收自评报告(精选),内容包括工程竣工验收自评报告范本,消防工程竣工验收自评报告,竣工验收施工单位自评发言。我们眼下的社会,报告的用途越来越大,报告中涉及到专业性术语要解释清楚。写起报告来就毫无头绪?下面是为大

学习

空调购销合同(精选)

阅读(26)

本文为您介绍空调购销合同(精选),内容包括最简单的空调维修合同,安装空调高空作业免责合同,空调安装安全合同范本。随着时间的推移,合同的类型越来越多,签订合同能平衡双方当事人的平等地位。相信很多朋友都对拟合同感到非常苦恼吧,下面是收

学习

关于不和别人攀比的说说不攀比不羡慕的句子

阅读(86)

本文为您介绍关于不和别人攀比的说说不攀比不羡慕的句子,内容包括别人不认可你正能量句子朋友圈,关于不指望别人靠自己的经典说说,不和别人斤斤计较的说说。在日常学习、工作抑或是生活中,大家对句子都再熟悉不过了吧,不同类型的句子具有

学习

空调安装合同范本(通用)

阅读(29)

本文为您介绍空调安装合同范本(通用),内容包括空调安装合同范本大全,安装空调安全责任合同范本,公司申请安装空调范文。随着法律法规不断完善,人们越发重视合同,很多场合都离不了合同,签订合同是为了保障双方的利益,避免不必要的争端。那么相

学习

白菜素饺子馅做法大全

阅读(60)

本文为您介绍白菜素饺子馅做法大全,内容包括白菜素饺子馅做法大全家常,荞麦面白菜素馅饺子,白菜荠菜素饺子馅做法。自家制作的素馅饺子,没有花俏的辅料,很淳朴。那么怎么做呢?下面和一起来看看吧!

学习

中班语言教学工作总结

阅读(38)

本文为您介绍中班语言教学工作总结,内容包括中班语言教学工作总结8篇,中班教育教学工作总结。中班语言教学工作总结总结是对过去一定时期的工作、学习或思想情况进行回顾、分析,并做出客观评价的书面材料,它可以帮助我们总结以往思想,发扬

学习

语言领域的小班教案(通用)

阅读(45)

本文为您介绍语言领域的小班教案(通用),内容包括小班语言活动谁松的土教案反思,小班语言红红的小东西教案反思。语言领域的小班教案一、语言领域的小班教案怎么写教案即教学方案,语言领域的小班教案可包括以下几点:1、教学目标:所学知识的内

学习

小班语言教案《春天来了》

阅读(35)

本文为您介绍小班语言教案《春天来了》,内容包括小班语言教案春天到了,小班语言教案春。小班语言教案《春天来了》作为一位不辞辛劳的人民教师,常常需要准备教案,教案是备课向课堂教学转化的关节点。快来参考教案是怎么写的吧!下面是收集整

学习

托班语言教案:小鸭找妈妈

阅读(81)

本文为您介绍托班语言教案:小鸭找妈妈,内容包括托班语言小鸭找妈妈教案,托班社会活动小鸭找妈妈教案反思。托班语言教案:小鸭找妈妈作为一名无私奉献的老师,时常会需要准备好教案,教案是教学活动的总的组织纲领和行动方案。那要怎么写好教案

学习

有关学校语言文字工作计划四篇

阅读(73)

有关学校语言文字工作计划四篇时间过得真快,总在不经意间流逝,我们的工作又将在忙碌中充实着,在喜悦中收获着,立即行动起来写一份计划吧。想学习拟定计划却不知道该请教谁?下面是整理的学校语言文字工作计划4篇,仅供参考,欢迎大家阅读。学校语

学习

中班语言跷跷板教案

阅读(47)

中班语言跷跷板教案作为一名无私奉献的老师,就难以避免地要准备教案,编写教案有利于我们准确把握教材的重点与难点,进而选择恰当的教学方法。那么应当如何写教案呢?下面是收集整理的中班语言跷跷板教案,欢迎大家分享。活动目标:1、根据音的高

学习

幼儿园大班的语言教案

阅读(48)

本文为您介绍幼儿园大班的语言教案,内容包括幼儿园大班的语文卷子,幼儿园大班的语文课选哪家机构。幼儿园大班的语言教案作为一位优秀的人民教师,就难以避免地要准备教案,教案有助于顺利而有效地开展教学活动。那么你有了解过教案吗?下面是

学习

大班语言鸟窝教案

阅读(57)

本文为您介绍大班语言鸟窝教案,内容包括大班语言鸟窝教案,大班语言鸟窝ppt。大班语言鸟窝教案作为一位不辞辛劳的人民教师,通常需要准备好一份教案,教案有利于教学水平的提高,有助于教研活动的开展。来参考自己需要的教案吧!下面是整理的大