收藏 分销(赏)

LabVIEW软件编程标准规范.doc

上传人:w****g 文档编号:2977978 上传时间:2024-06-12 格式:DOC 页数:12 大小:238.04KB
下载 相关 举报
LabVIEW软件编程标准规范.doc_第1页
第1页 / 共12页
LabVIEW软件编程标准规范.doc_第2页
第2页 / 共12页
LabVIEW软件编程标准规范.doc_第3页
第3页 / 共12页
LabVIEW软件编程标准规范.doc_第4页
第4页 / 共12页
LabVIEW软件编程标准规范.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、LabVIEW软件编程规范一、制定编程规范意义项目开发中,经常存在多人共同开发同一程序状况。风格不一致,导致成果是程序可读性差,难于维护。为了避免这些问题,做为一种系统软件工程工作者,需要在工程项目开始之前有一套团队成员彼此遵守开发规范。制定本编程规范目是为了提高软件开发效率及所开发软件可维护性,提高软件质量。本规范由程序组织构造、命名规则、注释规范、程序健壮性、可移植性、错误解决以及软件模块化规范等某些构成。 二、编程规范(1)程序组织构造对于大型程序来说,如果规划不得当,会导致开发期间移动和重命名文献操作占用额外时间。因此普通采用目录构造(管理磁盘文献)-摘自 CRIO开发者指南 LabV

2、IEW VI是依照其名称和途径进行关联,因而如果你移动或重命名子VI,关联就会遭到破坏,需要手动重新建立关联,恰当管理磁盘上文献会减少日后移动大量文献风险,协助开发人员很容易找到文献,并决定在哪里保存新文献。 许多软件开发者已经规定好文献存储位置,但是除典型办法和构造外,如下办法更适合大型程序开发工作。 1) 将所有项目文献存储到一种单一目录;2) 在其目录下创立包括文献逻辑群体文献夹 ;3) 依照预定原则对文献进行分组 ;4) 将程序划分为易解决逻辑单元 ;5) 使用品有逻辑性和描述性命名规则命名 VI;命名VI,VI库以及目录时候,尽量避免使用不被所有文献系统所接受字符,例如“/”,“”,

3、“:” “”。 文献名命名规定表达出文献内容,规定文献名长度不得少于5个字母。6) 将顶层VI与其她源代码区别开来;I. 文献夹通惯用来对文献进行分组、分类,因而可以针对不同调用对子VI进行分组、分类。文献分组原则是依照程序中文献功能、类型以及分级层次来进行。事实上,磁盘管理真正体现了程序中文献和代码之间关系。避免在整个程序构造中使用相似文献名。由于在内存中一次只能有一种给定名字。如果内存中存在某个文献名VI,而又试图去载入此外一种具备相似文献VI,VI会提示你与否替代已存在VI。这样会导致整个程序浮现难以预料问题。如果打算备份VI文献话,请务必拟定把她们备份到正常搜索构造之外,以便LabVI

4、EW不会错误在内存中调用这些VI。 LabVIEW Project为开发人员提供了用于管理文献工具。随着程序不断壮大,开发人员需要对程序关联文献进行管理,如VI、控件资源、第三方函数库、数据文献以及硬件配备文献。工程师可以运用LabVIEW Project Explorer管理这些文献。图LabVIEW项目上源代码选项开发者可以运用LabVIEW Project管理所有程序关联文献。默认项目文献夹为虚拟文献夹,但是开发者可以将其与系统物理目录进行同步。一旦开发者在LabVIEW Project中添加了一种目录,可以将其转变为“自动更新”,以最大限度地提高文献管理和组织灵活性。自动填加文献夹会将

5、磁盘文献管理与Project中逻辑分组进行关联。如果也许,最佳使用自动更新文献夹来保护LabVIEW项目浏览器中磁盘框架。 (2)命名规则1)变量命名规则变量命名规则规定采用“匈牙利法则”。即开头字母用变量类型,别的某些用变量英文意思或其英文意思缩写,尽量避免用中文拼音,规定单词第一种字母应大写。. 1 7 W 0 R bR即: 变量名=变量类型+变量英文意思(或缩写):Q3 A1 c3 n& t+ x;E/ M5 z对非通用变量,在定义时加入注释阐明。变量类型见下表: kf$ 4 Y;l+ c& hbool(BOOL) 用b开头 bIsParentI8、I16、I32、I64 用n开头 nS

6、tepCountU8、U16、U32、U64 用un开头 unSumfloat(FLOAT) 用f开头 fAvgdouble(DOUBLE) 用d开头 dDetaNHANDLE 用h开头 hHandlepath 用p开头 pDDiskenum 用e开头 eMenuwavedata 用w开头 wAnalogDatacluster 用clu开头 cluInformationstring 用str开头 strNameArray 用A开头 AName全局变量用g_开头,如一种全局长型变量定义为g_lFailCount,即:变量名=g_+变量类型+变量英文意思(或缩写);对常量命名,规定常量名用大写,常

7、量名用英文表达其意思。2 P) J$ |8 f,a,n6 ;Y7 c+ D!e0 C K后缀定义:1D 一维数组2D 二维数组iD i维数组对未提及变量类型定义需在日后协商。2)子VI命名规则1) 子VI参数规范5、参数名称命名参照变量命名规范。+ Y;u% Z,a,、为了提高程序运营效率,减少参数占用堆栈,传递大构造参数,一律采用指针或引用方式传递。3)此外,用对的反义词组命名具备互斥意义变量或相反动作函数等。阐明:下面是某些在软件中惯用反义词组。add / remove begin / end create / destroy insert / delete first / last ge

8、t / releaseincrement / decrement put / getadd / delete lock / unlock open / closemin / max old / new start / stopnext / previous source / target show / hidesend / receive source / destinationcut / paste up / down(3)注释规范1)子VI注释对于子VI,应当从“功能”,“参数”,“重要思路”、“调用办法”、“日期”六个方面用如下格式注释: t0 q2 j9 ?,y) 5 ib、对于某些函

9、数,其某些参数为传入值,而某些参数为传出值,因此对参数要详细阐明该参数是入口参数,还是出口参数,对于某些意义不明确参数还要做详细阐明(例如:以角度作为参数时,要阐明该角度参数是以弧度(PI),还是以度为单位),对既是入口又是出口变量应当在入口和出口处同步标明。,o4 、在注释中应当详细阐明函数重要实现思路、特别要注明自己某些想法,如果有必要则应当写明对想法产生来由。对某些模仿函数应当注释上函数出处。&、在注释中详细注明函数恰当调用办法。在注释中要强调调用时危险方面,也许出错地方。# j% P$ G3 s:w6 q 、对日期注释规定记录从开始写函数到结束函数测试之间日期。、 h- E# d5 f

10、. Z2 q) y对函数注释开始到函数命名之间应当有一组用来标记特殊字符串。:% t$ _如果算法比较复杂,或算法中变量定义与位置关于,则规定对变量定义进行图解。对难以理解算法能图解尽量图解。,s22)变量注释对于变量注释紧跟在变量背面阐明变量作用。原则上对于每个变量应当注释,但对于意义非常明显变量,如:i,j等循环变量可以不注释。3)其她注释在函数内咱们不需要注释每一某些代码。但必要在各功能模块每一重要某些之前添加块注释,注释每一组代码,在循环、流程各分支等,尽量多加以注释。其中循环、条件、选取等位置必要注释。对于先后顺序不能颠倒状况,建议在注释中增长序号。在其她顺序执行程序中,必要加一种注

11、释,注明这一段语句所构成小模块作用。对于自己某些比较独特思想规定在注释中标明。(4) 程序健壮性错误解决是发现解决程序中浮现问题、战胜无法预料事情和实现良好编程风格主线。 1、 错误解决基本1) 所有 VI 必要捕获并报告从错误端反馈回来错误2) 通过错误端间错误簇传递来捕获错误3) 捕获循环中每个迭代错误4) 在循环中禁用错误索引5) 在应用程序使用过程中,使用错误日记文献存储错误信息6) 在无人值守或远程控制程序,禁用对话框报告错误。7) 避免使用内置错误报告子8) 对设备错误使用悲观代码,对警告使用积极代码编程中规定考虑函数各种执行状况,尽量解决所有流程状况。将函数分为两类:一类为与屏幕

12、显示无关,(不与顾客互换信息函数)一类为与屏幕显示有关。(与顾客互换信息函数)对于与屏幕显示无关函数,函数通过返回值来报告错误。对于与屏幕显示关于函数,函数要负责向顾客发出警告,并进行错误解决。严格测试:对每一段代码都规定进行严格测试,特别对某些功能函数要对其各种临界点(例如零值、无穷大值等)进行测试。尽量做到每一段代码零错误。(5) 可移植性- L. V9 q( Q!o4 j. x0 j:v1、高质量代码规定可以跨平台,因此咱们代码应当考虑到对不同平台支持,特别是对windows98和windowsnt支持。2# ?# e# R5 ?9 Iz3 U!22 、对不同硬件与软件函数要做不同解决。

13、$ (6)模块化为了提高软件重用性,减少重复开发工作量。同步也为了提高程序可读性,以便程序维护,必要加强软件模块化工作。模块化应当遵循如下几种基本规范: 1、函数应当作到精而小,函数代码应当控制在一种适度规模。规定编写者更加详细对函数注释,以及设计思想等。2、某一功能,如果重复实现三遍以上,既应当考虑模块化,将其写成通用函数。并向开发人员发布。并规定将接口文档和实现功能备案。3、每一种开发人员要尽量运用其她人现成模块,减少重复开发。4、对函数进行模块化时,要考虑函数层次关系,特别是在增长新功能模块时,对本来函数代码要进行认真调节,做到相似功能不同函数没有重复代码,此规定目在于便于代码维护。模块

14、化某些注意事项: 、设计好模块接口,涉及:函数接口和变量接口。 (7) 程序备份1.要有备份记录备份时注明备份日期和重要增长功能2.定期备份依照程序量多少,可以每天备份一次,也可以半天备份。3.各种介质备份 至少在硬盘上做2个备份,在软盘上做一种备份;在使用她人主机进行备份时,不可放于没有密码保护ftp服务器上,可以发送到自己email信箱中进行备份。(8)代码测试、维护1. 单元测试规定至少达到大代码覆盖。2. 单元测试开始要跟踪每一条代码,并观测数据流及变量变化。3. 清理、整顿或优化后裔码要通过审查及测试。4. 代码版本升级要通过严格测试。5. 使用工具软件对代码版本进行维护。6. 正式

15、版本上软件任何修改都应有详细文档记录。7. 发现错误及时修改,并且要记录下来。8. 核心代码在汇编级跟踪。9. 仔细设计并分析测试用例,使测试用例覆盖尽量多状况,以提高测试用例效率。10. 尽量模仿出程序各种出错状况,对出错解决代码进行充分测试。11. 仔细测试代码解决数据、变量边界状况。12. 保存测试信息,以便分析、总结经验及进行更充分测试。13. 不应通过“试”来解决问题,应寻找问题主线因素。14. 对自动消失错误进行分析,弄清晰错误是如何消失。15. 修改错误不但要治表,更要治本。16. 测试时应设法使很少发生事件经常发生。17. 明确模块或函数解决哪些事件,并使它们经常发生。18.

16、坚持在编码阶段就对代码进行彻底单元测试,不要等后来测试工作来发现问题。19. 去除代码运营随机性(如去掉无用数据、代码及尽量防止并注意函数中“内部寄存器”等),让函数运营成果可预测,并使浮现错误可再现。附录A某些编程惯用单词缩写规则:较短单词可通过去掉“元音”形成缩写;较长单词可取单词头几种字母形成缩写;某些单词有人们公认缩写.完整单词可缩写为缩写Aaverage-avg;Bback-bk;background-bg;break-brk;buffer-buf;Ccolor-cr;(clr)control-ctrl ;Ddata-dat;delete-del;document-doc;Eedit

17、-edt;error-err;escape-esc;Fflag-flg;form-frm;Ggrid-grd;Iincrement-inc;information-info ;initial-init ;insert-ins;image-img;Llabel-lab;length-len;list-lst;library-lib;Mmanager-mngr ;(mgr)message-msg;OOracle-Ora;Ppanorama-pano ;password-pwd;picture-pic;point-pt;position-pos;print-prn;program-prg;Sserver-srv;source-src;statistic-stat ;string-str;Sybase-Syb;Ttemp-tmp;text-txt;Uuser-usr;Wwindow-wnd;(win)

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 品牌综合 > 行业标准/行业规范

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服