软件编写简要规范及风险等级划分
一、软件编写必须遵从规范
注释规范:
1、注释使用描述性、通用性文字,避免在注释中使用非常用的缩写或者术语。注释行数不
小于代码行数的30%;
2、对于涉及到的工艺条件和特殊动作,应有必要的逻辑条件和控制流程的文字描述。并注
明使用的数据块、功能函数以及调用方法和调用地址;
3、源文件头部应做注释,列出:版权说明、版本号、生成日期、作者姓名、内容、功能说
明、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明等;4、函数/方法/类等,应进行注释,列出:函数功能和原理、输入参数、输出参数、返回值。
定义处详细描述函数功能和实现要点,如实现的简要步骤、实现的理由、设计约束等。
说明参数物理含义,使用注意事项等;
5、全局变量要有较详细的注释,包括对其功能、取值范围以及存取时注意事项等的说明;
6、注释应该和代码同时更新,添加相应注释,删除不再有用的注释;
7、分支语句(条件分支、循环语句等)需编写注释(这些语句往往是程序实现某一特定功
能的关键,对于维护人员来说,良好的注释帮助更好的理解程序,有时甚至优于看设计文档);
8、特殊注释标记,请注明标记人与标记时间。注意及时处理这些标记,通过标记扫描,经
常清理此类标记。线上故障有时候就是来源于这些标记处的代码;
逻辑规范:
1、代码可维护性。“代码易维护”就是指,在不破坏原有代码设计、不引入新的bug的情
况下,能够快速地修改或者添加代码;
2、代码可读性。我们在编写代码的时候,时刻要考虑到代码是否易读、易理解;
3、代码的可扩展性。我们在不修改或少量修改原有代码的情况下,通过扩展的方式添加新
的功能代码;
4、代码的灵活性。当我们添加一个新的功能代码的时候,原有的代码已经预留好了扩展点,
我们不需要修改原有的代码,只要在扩展点上添加新的代码即可。这个时候,我们除了可以说代码易扩展,还可以说代码写得好灵活;
5、代码的简洁性。尽量保持代码简单。代码简单、逻辑清晰,也就意味着易读、易维护。
我们在编写代码的时候,往往也会把简单、清晰放到首位;中文写代码软件
6、代码的可复用性。尽量减少重复代码的编写,复用已有的代码;
7、代码的可测试性。代码可测试性的好坏,能从侧面上非常准确地反应代码质量的好坏。
代码的可测试性差,比较难写单元测试,那基本上就能说明代码设计得有问题;
命名、书写规范:
1、代码中的命名不能用特殊字符、数字开始与结束;
错误案例:@Next ,2PLC。
2、所有编程相关的命名严禁使用拼音与英文混合的方式,尽量杜绝不规范的缩写,若使用
了特殊约定或缩写,则要注释说明;
3、常量、宏和模板名采用全大写的方式,每个单词间用下划线分隔;
4、对于变量命名,禁止取单个字符,但其可作局部循环变量是允许的(如i、j、k);
5、在常量与变量的命名时,表示类型的名词放在词尾,以提升辨识度;
举例:bNext,stPostion,ST_Postion,
6、函数名以大写字母开头,采用谓-宾结构(动-名),且应反映函数执行什么操作以及返
回什么内容;
7、程序块采用缩进风格;
8、相对独立的程序块之间、变量说明之后必须加空行;
9、较长的语句(>80 字符)要分成多行书写;
10、不允许把多个短语句写在一行中,即一行只写一条语句;
11、不同逻辑、不同语义、不同业务的代码之间插入一个空行分隔开来以提升可读性; 数据处理规范:
1、数据引用过程中,出现的如引用的变量未赋值或未初始化,下标值是否为整数等等;
2、数据声明相关,变量全部声明正确、初始化正确等等,编程人员需要注意;
3、运算错误方面,数据类型是否一致、除法运算是否为0都需要仔细确认;
4、比较错误,比较运算符使用恰当,不同变量之间比较运算等等需要留意;
5、控制流程,程序包含其他线程、分支、循环是否会停止、子模块是不是终止了等等;
6、接口错误,实参形参等数量类型等等都有没有匹配;
7、输入\输出,变量声明属性是否正确、足够内存来读取文件等等;
8、编写软件的组织或人员不应当将自己测试编写的软件结果作为最终结果;
二、软件编写建议遵从规范
函数规范:
1、一个函数仅完成一件功能(多功能集一身的函数,使其理解、测试、维护变得困难);
2、重复代码尽可能提炼成函数;
3、避免函数过长,函数的规模尽量限制在100 行以内(不包括空格行与注释);
4、对参数合法性检查,检查函数所有参数与非参数的有效性;
5、被调用模块函数接收到的形参数量是否等于调用模块发送的实参数量;
6、对函数的返回码要全面处理;
7、防止差1 错误。此类错误一般是由于把<= 误写成< 或>= 误写成> 等造成的。当
写完程序后,应对这些操作符进行彻底检查。使用变量时要注意其边界值的情况;三、风险等级与周期
风险等级划分:
1、Urgent(V级),(可对应目前BUG体系中的“非常严重”,Critical,严重),严重问题主要
为:系统无法执行、崩溃或严重资源不足、应用模块无法启动或异常退出、无法测试、造成系统不稳定,不能完全满足系统要求,系统停止运行,系统的重要部件无法运行,系统崩溃或者挂起等导致系统不能正常运行:a)操作系统无法正常使用,死机,出现致命错误;b)用户数据丢失或破坏;c)被测试系统频繁崩溃,程序出错,使功能不能继续使用;d) 性能与需求不一致;e) 系统资源引发性能问题;f) 系统配置引发错误;g)安全性问题;h)模块无法启动或异常退出;i)严重的数值计算错误;j)功能设计与需求严重不符;k)导致其它功能无法测试的错误;
2、Very High(IV级),(可对应目前BUG体系中的“主要”,Major,主要),严重地影响系统
要求或基本功能的实现,且没有更正办法(重新安装或重新启动该软件不属于更正办法)。
使系统不稳定、或破坏数据、或产生错误结果,或部分功能无法执行,而且是常规操作中经常发生或非常规操作中不可避免的主要问题,系统无法满足主要的业务需求,性能、功能或可用性严重降低:a) 功能与需求不致,或功能未实现;b)功能有错误,影响使用;
c)数据传输有错误;d)安装与卸载问题;e)系统刷新错误;f) 语音或数据通讯错误;g)
轻微的数值计算错误;h)系统所提供的功能或服务受到明显的影响;
3、High(III级),(可对应于目前BUG体系中的“次要”,Minor,次要),系统可以满足业务
需求,系统性能或响应时间变慢、产生错误的中间结果但不影响最终结果等影响有限的问题:a)功能有错误,但不影响使用;b)操作界面错误(包括数据窗口内列名定义、含义是否一致);c)边界条件出错;d)提示信息错误(包括未给出信息、信息提示错误等);
e)长时间操作无进度提示;f)系统未优化(性能问题);g)光标跳转设置不好,鼠标(光
标)定位错误;h) 显示信息不全;
4、Medium(II级),(可对应于目前BUG体系中的“轻微”,trivial,轻微),使操作者不方便
或操作麻烦,但它不影响执行工作功能或重要功能。界面拼写错误或用户使用不方便等小问题或需要完善的问题:a)界面设计不规范;b)辅助说明描述不清楚;c)消息、提示不准确;d)交互不友好;e)可输入区域和只读区域没有明显的区分标志;
5、Low(I级),(可对应于目前BUG体系中的“建议”,advise,建议),希望提出的建议但
不强制进行的修改。不会给产品的准确性或可用性带来任何严重影响:a)软件设计有问题;b)文档不完整或不准确;c)需求冻结后,描述不清楚的地方;d)文字排列不整齐等一些小问题;e)个别不影响产品理解的错别字;
Bug状态周期:
1、已经指派的BUG---已经指派给开发的,应随时关注并进行跟踪自己所提BUG的状态变
化!如果一直未修复,提醒开发人员修改;如果已经修复等待测试环境更新后进行验证;
2、已解决的BUG----等待测试环境更新后进行验证,验证通过则关闭;验证不通过则重新
指派给开发;
3、重复BUG----先去查看下是否跟开发指定的BUG或者,自己在BUG系统内看到的BUG
重复?如果确定重复则关闭;如果不重复,说明原因,重新打开指派给开发;
4、不是缺陷----确认开发环境是否和测试环境一致,如开发所说不是缺陷则进行关闭;如
果确认是缺陷跟开发沟通,沟通未达一致反馈领导确认,确认是BUG注明情况并再次指派给开发;
5、无法重现----确认开发环境是否跟测试环境一致?包括操作步骤,浏览器、环境、特定
账号等,如果多个版本验证之后,如开发所说重现不了,依据BUG的严重程度跟产品领导,开发领导一起确认关闭;如果到重现原因,注明清楚并再次指派给开发;6、不予解决---产品/领导进行确认。确认不予解决进行关闭;确认需要解决请备注原因
并打开指派给开发;
7、设计如此---产品/领导进行确认。确认设计如此进行关闭;确认是问题,备注原因重
现指派给开发;
8、延期修改---请看下BUG严重程度,是否影响当前版本发布?不予延期根据情况重新打
开并将情况进行备注说明;确定延期则做好记录,后续版本进行关注。

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