编程规范和范例


    
    目 录
    1 排版
    6
    2 注释
    11
    3 标识符命名
    18
    4 读性
    20
    5 变量结构
    22
    6 函数程
    28
    7 测性
    36
    8 程序效率
    40
    9 质量保证
    44
    10 代码编辑编译审查
    50
    11 代码测试维护
    52
    12 宏
    53

    1 排版
    ¹ 11:程序块采缩进风格编写缩进空格数4
    说明:开发工具动生成代码致
    ¹ 12:相独立程序块间变量说明必须加空行
    示例:例子符合规范
    if (valid_ni(ni))
    {
    program code
    }
    repssn_ind ssn_data[index]repssn_index
    repssn_ni ssn_data[index]ni

    应书写
    if (valid_ni(ni))
    {
    program code
    }

    repssn_ind ssn_data[index]repssn_index
    repssn_ni ssn_data[index]ni
    ¹ 13:较长语句(>80字符)分成行书写长表达式低优先级操作符处划分新行操作符放新行首划分出新行进行适缩进排版整齐语句读
    示例:
    perm_count_msgheadlen NO7_TO_STAT_PERM_COUNT_LEN
    + STAT_SIZE_PER_FRAM * sizeof( _UL )

    act_task_table[frame_id * STAT_TASK_CHECK_NUMBER + index]occupied
    stat_poi[index]occupied

    act_task_table[taskno]duration_true_or_false
    SYS_get_sccp_statistic_state( stat_item )

    report_or_not_flag ((taskno < MAX_ACT_TASK_NUMBER)
    && (n7stat_stat_item_valid (stat_item))
    && (act_task_table[taskno]result_data 0))
    ¹ 14:循环判断等语句中较长表达式语句进行适应划分长表达式低优先级操作符处划分新行操作符放新行首
    示例:
    if ((taskno < max_act_task_number)
    && (n7stat_stat_item_valid (stat_item)))
    {
    program code
    }

    for (i 0 j 0 (i < BufferKeyword[word_index]word_length)
    && (j < NewKeywordword_length) i++ j++)
    {
    program code
    }

    for (i 0 j 0
    (i < first_word_length) && (j < second_word_length)
    i++ j++)
    {
    program code
    }
    ¹ 15:函数程中参数较长进行适划分
    示例:
    n7stat_str_compare((BYTE *) & stat_object
    (BYTE *) & (act_task_table[taskno]stat_object)
    sizeof (_STAT_OBJECT))

    n7stat_flash_act_duration( stat_item frame_id *STAT_TASK_CHECK_NUMBER
    + index stat_object )
    ¹ 16:允许短语句写行中行写条语句
    示例:例子符合规范
    rectlength 0 rectwidth 0

    应书写
    rectlength 0
    rectwidth 0
    ¹ 17:iffordowhilecaseswitchdefault等语句占行iffordowhile等语句执行语句部分少加括号{}
    示例:例子符合规范
    if (pUserCR NULL) return

    应书写:
    if (pUserCR NULL)
    {
    return
    }
    ¹ 18:齐空格键TAB键
    说明:免编辑器阅读程序时TAB键设置空格数目造成程序布局整齐BC作编辑器合版BC会动8空格变TAB键BC合入版会缩进变乱
    ¹ 19:函数程开始结构定义循环判断等语句中代码采缩进风格case语句情况处理语句遵语句缩进求
    ¹ 110:程序块分界符(CC++语言括号{’}’)应独占行位列时引语句左齐函数体开始类定义结构定义枚举定义iffordowhileswitchcase语句中程序采缩进方式
    示例:例子符合规范
    for () {
    program code
    }

    if ()
    {
    program code
    }

    void example_fun( void )
    {
    program code
    }

    应书写
    for ()
    {
    program code
    }

    if ()
    {
    program code
    }

    void example_fun( void )
    {
    program code
    }
    ¹ 111:两关键字变量常量进行等操作时间操作符前者前加空格进行非等操作时果关系密切立操作符(->)应加空格
    说明:采种松散方式编写代码目代码更加清晰
    留空格产生清晰性相已非常清晰语句中没必留空格果语句已足够清晰括号侧(左括号面右括号前面)需加空格重括号间必加空格CC++语言中括号已清晰标志
    长语句中果需加空格非常应该保持整体清晰局部加空格操作符留空格时连续留两空格

    示例:
    (1) 逗号分号面加空格
    int a b c

    (2)较操作符 赋值操作符 +算术操作符+逻辑操作符&&&位域操作符<<^等双目操作符前加空格
    if (current_time > MAX_TIME_VALUE)
    a b + c
    a * 2
    a b ^ 2

    (3)~++&(址运算符)等单目操作符前加空格
    *p 'a' 容操作*容间
    flag isEmpty 非操作容间
    p &mem 址操作& 容间
    i++ ++容间

    (4)>前加空格
    p>id pid >指针前加空格

    (5) ifforwhileswitch等面括号间应加空格if等关键字更突出明显
    if (a > b && c > d)
    ½ 11:行程序80字符宜写长

    2 注释
    ¹ 21:般情况源程序效注释量必须20%
    说明:注释原助程序阅读理解该加方加注释宜太太少注释语言必须准确易懂简洁
    ¹ 22:说明性文件(头文件h文件inc文件def文件编译说明文件cfg等)头部应进行注释注释必须列出:版权说明版号生成日期作者容功文件关系修改日志等头文件注释中应函数功简说明
    示例:面段头文件头注释较标准然局限格式述信息建议包含
    *************************************************
    Copyright (C) 19881999 Huawei Tech Co Ltd
    File name 文件名
    Author Version Date 作者版完成日期
    Description 详细说明程序文件完成功模块
    函数接口输出值取值范围含义参数间控
    制序独立赖等关系
    Others 容说明
    Function List 函数列表条记录应包括函数名功简说明
    1
    History 修改历史记录列表条修改记录应包括修改日期修改
    者修改容简述
    1 Date
    Author
    Modification
    2
    *************************************************
    ¹ 23:源文件头部应进行注释列出:版权说明版号生成日期作者模块目功函数功修改日志等
    示例:面段源文件头注释较标准然局限格式述信息建议包含
    ************************************************************
    Copyright (C) 19881999 Huawei Tech Co Ltd
    FileName testcpp
    Author Version Date
    Description 模块描述
    Version 版信息
    Function List 函数功
    1
    History 历史修改记录

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 2 积分 [ 获取积分 ]

    下载文档

    相关文档

    软件编程规范总则CHECKLIST

     软件编程规范总则CHECKLIST 检 查 人:________________ 检查日期:1999年_____月_____日 审查内容:_________________...

    10年前   
    25881    0

    软件编程规范培训实例与练习

    软件编程规范培训实例与练习 Ÿ 问题分类 1 逻辑类问题(A类)-指设计、编码中出现的计算正确性和一致性、程序逻辑控制等方面出现的问题,在系统中起关键作用,将导致软件死机、功...

    11年前   
    20196    0

    文科论文提纲范例格式规范

    文科论文提纲范例格式规范  内容摘要。一般为中文摘要,如有英文要求则要附上英文摘要。摘要应该以研究目的、研究方法、研究结果和结论,围绕主题展开,明确介绍重点。一般用200-300字高度概括全篇...

    12年前   
    538    0

    linux编程SHELL编程实验报告

    Linux编程课程设计报告题 目: Linux Shell编程 专 业 学 号 姓 名 ...

    1年前   
    613    0

    linux与windows 编程区别

    linux windows 编程的区别 如果一个程序员从来没有在linux,unix下开发过程序,一直在windows下面开发程序, 同样是工作10年, 大部分情况下与在linux,unix...

    7年前   
    2606    0

    编程 汇编题目

    一、选择题1. 已知指令CALL DWORD PTR [BX]执行前(SP)=108H, 则该指令执行后SP的内容为 ( )。A. 100H B. 104H C. 0...

    4年前   
    705    0

    软件编程实习总结

    软件编程实习总结  实习时间:3月1日―――5月9日  实习地点:广州xx大学生实训基地  实训目标:  1.通过系统性的实训,熟练掌握java se、java ee知识体系,具备java开发...

    9年前   
    522    0

    Scratch趣味编程

    Scratch趣味编程随着社会信息化程度的不断提高,掌握运用计算机 解决问题的能力显得越来越重要,计算机程序设计是培 养学生运用计算机解决问题能力的重要途径,也是培养 学生计算思维与创新能力的...

    2年前   
    714    1

    编程人员的质量感言

    质  量  感  言   质量是社会生活中最常见的概念,是企业永恒的主题,关系到企业的生存与发展。做为加工中心的一名编程人员,深知这个岗位的重要性,图纸一但输入错误会对公司造成很大的损失,...

    12年前   
    12718    0

    论文写作规范和要求

    论文写作规范和要求南开大学生命科学学院本科毕业论文写作规范和要求(试行稿)为提高南开大学生命科学学院本科毕业论文的质量和水平,遵循学校对本科毕业论文的有关规定,参照国内外生命科学研究论文的书写...

    10年前   
    564    0

    HRM工作说明书的范例和说明

    HRM工作说明书的范例和说明 岗位名称:人力资源部经理   职位等级:G5   职位编号:AG380023   工作目标:负责公司的人力资源规划,组织人员配备,组织开发和员工关系处理。...

    13年前   
    28998    0

    网络编程实习报告

    网络编程实习报告  [实习目的]   通过理论联系实际,巩固所学的知识,提高处理实际问题的能力,并为自己能顺利与社会环境接轨做准备。[实习任务]Linux下网络服务器开发(基于C语言);本文总...

    9年前   
    525    0

    CMM实用编程技术

    CMM实用编程技术   1. 若图面各视图上均有尺寸需编程测量时,最好在每个视图上标示出坐标系,以利于判断工件在机台所处的位置   2. 在建立工件坐标系时,若无特别说明,工件坐标系应...

    9年前   
    7738    0

    数控编程实习报告

    数控编程实习报告  随着制造业的发展,机床是制造业的主要生产设备其发展也是日新月异。社会的进步,人们对各类产品的要求也越来越高,像汽车这样大批量的产品,也要求个性化。因此不能采用传统化的刚性生...

    10年前   
    586    0

    数控编程说课

    《数控加工技术》既是数控技术专业基于工作过程系统化设计的专业核心课程,又是数控工艺员,数控程序员,数控机床操作工职业资格考试的必修课程.下面我从课程设置,教学内容,教学设计,教学组织与实施,特色...

    6年前   
    14076    0

    《Java趣味编程100例》

    第1章 变幻多姿的图表图表简洁直观,在各种场合得到广泛应用,给人以很强的视觉冲击,经常让人难以忘怀。我们的程序中如果能够灵活地应用图表,一定能给我们的程序增色不少。本章将带你进入变换多姿的图...

    2年前   
    820    0

    编程模拟练习

    模拟练习 一、选择题  1、传输用的基带信号主要要求: A、原始消息代码必须编成适合于传输用的码型;  B、电波形应适合于基带系统的传输。 C、设备简单可靠。 D、A和B答案...

    10年前   
    7833    0

    SimplIQ编程笔记

    编程软件手册SimplIQ驱动描述 SimplIQ驱动器是复杂的、面向网络的、单轴数字驱动器,特色:1. 先进的控制算法,包括高阶过滤器和增益调度2. 一个复杂的参考生成算法, 其中包括绝对...

    3年前   
    630    0

    UG编程(完整版)

    第二部分UG编程随堂讲义第1章 数控编程技术1.1 数控编程的基本过程数控编程是从零件设计得到合格的数控加工程序的全过程,其最主要的任务是通过计算得到加工走刀中的刀位点,即获得刀具运动的路...

    3年前   
    750    0

    2021年入党申请书写作规范及参考范例

    Print本文仅供学习参考,请勿照搬照抄!2021年入党申请书写作规范及参考范例目录· 入党申请书写作规范· 入党申请书参考范例篇1入党申请书写作规范根据《中国共产党章程》的规定,要求入党的同...

    2年前   
    602    0

    文档贡献者

    5***d

    贡献于2011-01-09

    下载需要 2 积分 [ 获取积分 ]
    下载文档