LabVIEW软件编程规范

上传人:奇异 文档编号:46347321 上传时间:2021-12-12 格式:DOCX 页数:15 大小:42KB
返回 下载 相关 举报
LabVIEW软件编程规范_第1页
第1页 / 共15页
LabVIEW软件编程规范_第2页
第2页 / 共15页
LabVIEW软件编程规范_第3页
第3页 / 共15页
点击查看更多>>
资源描述
LabVIEW软件编程规范一、制定编程规范的意义项目开发中,经常存在多人共同开发同一程序的情况。 风格不一致,导致的 结果是程序可读性差,难于维护。为了避免这些问题,做为一个系统软件工程工 作者,需要在工程项目开始之前有一套团队成员彼此遵守的开发规范。制定本编程规范的目的是为了提高软件开发效率及所开发的软件的可维护性,提高软件的质量。本规范由程序组织结构、命名规则、注释规范、程序健壮性、可移植性、错误处理以及软件的模块化规范等部分组成。、编程规范(1)程序组织结构对于大型程序来说,如果规划不得当,会导致开发期间移动和重命名文件操 作占用额外的时间。所以一般采用目录结构(管理磁盘文件)-摘自CRIO开发者指南LabVIEW VI是根据其名称和路径进行关联,因此如果你移动或重命名子VI,关联就会遭到破坏,需要手动重新建立关联,适当管理磁盘上的文件会降低 日后移动大量文件的风险,帮助开发人员很容易的找到文件,并决定在哪里保存 新文件。许多软件开发者已经规定好文件存储的位置,但是除经典的方法和结构外, 以下方法更适合大型程序的开发工作。1)将所有项目文件存储到一个单一目录;2)在其目录下创建包含文件逻辑群体的文件夹;3) 根据预定的标准对文件进行分组;4) 将程序划分为易处理的逻辑单元;5) 使用具有逻辑性和描述性的命名规则命名 VI ;命名 VI , VI 库以及目录的时候, 尽量避免使用不被所有文件系统所接受的字符,比如“/ ”, “”, “:” “ ” 。 文件名的命名要求表达出文件的内容, 要求文件名的长度不得少于5 个字母。6 ) 将 顶层 VI 与其他源代码区分开来;1. 文件夹通常用来对文件进行分组、分类,因此可以针对不同的调用对子 VI进行分组、 分类。 文件分组的原则是根据程序中文件的功能、 类型以及分级层次来进行的。 实际上, 磁盘管理真正体现了程序中文件和代码之间的关系。 避免在整个程序结构中使用相同的文件名。因为在内存中一次只能有一个给定的名字。如果内存中存在某个文件名的 VI , 而又试图去载入另外一个具有相同文件的 VI ,VI 会提示你是否替换已存在的 VI 。这样会导致整个程序出现难以预料的问题。如果打算备份VI 文件的话,请务必确定把他们备份到正常搜索结构之外,以便LabVIEW 不会错误的在内存中调用这些 VI 。LabVIEW Project 为开发人员提供了用于管理文件的工具。随着程序不断壮大,开发人员需要对程序关联文件进行管理,如 VI 、控件资源、第三方函数库、数据文件以及硬件配置文件。工程师可以利用LabVIEW Project Explorer管理这些文件。-可编辑修改-0 Project Explorvi - Calcula- Autopopulating Folders* aie syndironized to chsk They updatein Teal time to feftect Ihe contents of folders on dsk忙 UX J 心.CItems Fiet- &T Project: Ca4aiator.kpro)、-Ij MyComptJtcrMemc*Y Cuftdfn Ccfrch* IB Dtfptoy Virtual Foldersallow you to custonze bow and whefe ffies ar? dspJayed They po?ide .s snshot vijvd added from QsK图1 LabVIEW项目上的源代码选项开发者可以利用LabVIEW Project管理所有程序关联文件。默认的项目文件 夹为虚拟文件夹,但是开发者可以将其与系统物理目录进行同步。一旦开发者在LabVIEW Project中添加了一个目录,可以将其转变为自动更新”,以最大限度地提高文件管理和组织灵活性。自动填加文件夹会将磁盘文件管理与Project中的逻辑分组进行关联。如果可能,最好使用自动更新文件夹来保护LabVIEW项目浏览器中的磁盘框架。(2)命名规则1)变量的命名规则变量的命名规则要求采用 匈牙利法则”。即开头字母用变量的类型,其余部 分用变量的英文意思或其英文意思的缩写,尽量避免用中文的拼音,要求单词的第 一个字母应大写。即:变量名=变量类型+变量的英文意思(或缩写)对非通用的变量,在定义时加入注释说明。变量类型见下表:k f$ 4 Y; l+c& hbool(BOOL)用 b 开头bIsParentI8、 I16、 I32、 I64用 n 开头nStepCountU8、 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_+变量类型+变量的英文意思(或缩写) ;对常量命名,要求常量名用大写,常量名用英文表达其意思。K 后缀定义:1D一维数组2D二维数组iD i 维数组对未提及的变量类型的定义需在日后协商。2)子VI的命名规则1)子VI参数规范5、参数名称的命名参照变量命名规范、为了提高程序的运行效率,减少参数占用的堆栈,传递大结构的参数,一律采用指针或引用方式传递。3)另外,用正确的反义词组命名具有互斥意义的变量或相反动作的函数等。说明:下面是一些在软件中常用的反义词组。add / remove insert / deleteincrement / decrement add / delete min / maxnext / previous send / receive cut / paste(3)注释规范1)子VI的注释begin / end first / lastlock / unlock old / new source / targetcreate / destroyget / releaseput / getopen / closestart / stopshow / hidesource / destinationup/down对于子VI,应该从功能,参数”,主要思路”、调用方法“、日期”六个 方面用如下格式注释:注释工程序说明开始%功能:从一个EHing中删除另一个StizLriwH 参数: stiByDeletCj stiToDelete?% (输大参数)strByPelete:被删除的字符串(原来的字符串);% (输出参数)strToDelete:要从上个字符串中删除的字符串;%主要思路;本算法主要采用循环比较的方法来从苜立日加已工吕代中%找到与5tHTcjDl&lEtE相匹配的字符串,对多匹配51工旧巩)已1七已中有多%不办trToDdlEu了 1cb)的惜况没看处理,请参阅:书名%调用方法:% 日期:起始日期,如;2012/3/21,9:402012/5/23. 21:40%磁名()%程序说明结束!b、对于某些函数,其部分参数为传入值,而部分参数为传出值,所以对参数要详细说明该参数是入口参数,还是出口参数,对于某些意义不明确的参数还要做详细说明(例如:以角度作为参数时,要说明该角度参数是以弧度(PI),还是以度为单位),对既是入口又是出口的变量应该在入口和出口处同时标明。,o4、在注释中应该详细说明函数的主要实现思路、 特别要注明自己的一些想法, 如果有必要则应该写明对想法产生的来由。对一些模仿的函数应该注释上函数的 出处。& 、在注释中详细注明函数的适当调用方法。在注释中要强调调用时的危险方 面,可能出错的地方。、对日期的注释要求记录从开始写函数到结束函数的测试之间的日期。、对函数注释开始到函数命名之间应该有一组用来标识的特殊字符串。:%t$ _如果算法比较复杂,或算法中的变量定义与位置有关,则要求对变量的定义进行图解。对难以理解的算法能图解尽量图解。,s22度量的注释对于变量的注释紧跟在变量的后面说明变量的作用。原则上对于每个变量应 该注释,但对于意义非常明显的变量,如:i, j等循环变量可以不注释。3)其他注释在函数内我们不需要注释每一部分代码。 但必须在各功能模块的每一主要部分之前添加块注释,注释每一组代码,在循环、流程的各分支等,尽可能多加以注释。 其中的循环、 条件、 选择等位置必须注释。 对于前后顺序不能颠倒的情况,建议在注释中增加序号。 在其他顺序执行的程序中, 必须加一个注释, 注明这一段语句所组成的小模块的作用。 对于自己的一些比较独特的思想要求在注释中标明。(4) 程序健壮性错误处理是发现解决程序中出现的问题、战胜无法预料的事情和实现良好编程风格的根本。1、 错 误处理基础1) 所 有 VI 必须捕获并报告从错误端反馈回来的错误2) 通 过错误端间错误簇的传递来捕获错误3) 捕 获循环中每个迭代的错误4) 在 循环中禁用错误的索引5) 在 应用程序使用过程中,使用错误日志文件存储错误信息6) 在 无人值守或远程控制的程序,禁用对话框报告错误。7)避免使用内置错误报告的子V I8)对I/O设备错误使用消极代码,对警告使用积极代码编程中要求考虑函数的各种执行情况, 尽可能处理所有的流程情况。 将函数分为两类:一类为与屏幕的显示无关, (不与用户交换信息的函数)一类为与屏幕的显示相关。 (与用户交换信息的函数)对于与屏幕显示无关的函数,函数通过返回值来报告错误。 对于与屏幕显示有关的函数, 函数要负责向用户发出警告, 并进行错误处理。 严格的测试: 对每一段代码都要求进行严格的测试, 特别对一些功能函数要对其各种临界点(比如零值、无穷大的值等)进行测试。尽量做到每一段代码零错误。(5) 可移植性1、高质量的代码要求能够跨平台,所以我们的代码应该考虑到对不同的平台的支持,特别是对 windows98和windowsnt的支持。2、对不同的硬件与软件的函数要做不同的处理。$6)模块化为了提高软件的重用性, 减少重复开发的工作量。 同时也为了提高程序的可读性,方便程序的维护, 必须加强软件的模块化工作。 模块化应该遵循以下几个基本规范:1、 函数应该作到精而小,函数的代码应该控制在一个适度的规模。要求编写者更加详细的对函数注释,以及设计思想等。2、 某一功能, 如果重复实现三遍以上, 既应该考虑模块化, 将其写成通用函数。并向开发人员发布。并要求将接口文档和实现的功能备案。3、 每一个开发人员要尽可能的利用其他人的现成的模块,减少重复开发。4、 对函数进行模块化时,要考虑函数的层次关系,特别是在增加新的功能模块时, 对原来的函数代码要进行认真的调整, 做到相同功能的不同函数没有重复代码,此要求的目的在于便于代码维护。模块化的一些注意事项:-可编辑修改-、设计好模块接口,包括:函数接口和变量接口(7)程序备份1 .要有备份记录备份时注明备份日期和主要增加的功能2 .定时备份根据程序量的多少,可以每天备份一次,也可以半天备份。3 .多种介质备份至少在硬盘上做2个备份,在软盘上做一个备份;在使用他人主机进行备份时,不可放于没有密码保护的ftp服务器上,可以发送到自己的email信箱中进 行备份。(8)代码测试、维护1 .单元测试要求至少达到大代码覆盖。2 .单元测试开始要跟踪每一条代码,并观察数据流及变量的变化。3 .清理、整理或优化后的代码要经过审查及测试。4 .代码版本升级要经过严格测试。5 .使用工具软件对代码版本进行维护。6 .正式版本上软件的任何修改都应有详细的文档记录。7 .发现错误立即修改,并且要记录下来。8 .关键的代码在汇编级跟踪。9 .仔细设计并分析测试用例,使测试用例覆盖尽可能多的情况,以提高测试用 例的效率。10 .尽可能模拟出程序的各种出错情况,对出错处理代码进行充分的测试。11 .仔细测试代码处理数据、变量的边界情况。12 .保留测试信息,以便分析、总结经验及进行更充分的测试。13 .不应通过 试”来解决问题,应寻找问题的根本原因。14 .对自动消失的错误进行分析,搞清楚错误是如何消失的。15 .修改错误不仅要治表,更要治本。16 .测试时应设法使很少发生的事件经常发生。17 .明确模块或函数处理哪些事件,并使它们经常发生。18 .坚持在编码阶段就对代码进行彻底的单元测试,不要等以后的测试工作来发 现问题。19 .去除代码运行的随机性(如去掉无用的数据、代码及尽可能防止并注意函数 中的内部寄存器”等),让函数运行的结果可预测,并使出现的错误可再现。附录A部分编程常用单词缩写规则:较短的单词可通过去掉 无音”形成缩写;较长的单词可取单词的头几个字母形成缩写;一些单词有大家公认的缩写.完整单词可缩写为缩写Aaverage avg ;Bback bk 1;background bg ;break brk ;buffer buf ;Ccolor cr ; (clr)control ctrl ;Ddata dat ;delete del ;document doc ;Eedit edt ;error err ;escape esc ;Fflagflg ;form frm;Ggrid grd;Iincrement-inc ;information-info ;initialinit ;insertins ;imageimg ;Llabellab ;lengthlen ;listlst ;librarylib ;manager mngr ; (mgr)messageOmsg ;OracleOra ;Ppanoramapanopasswordpwd ;picturepic ;pointptll;positionpos ;print-prn ;programprg ;Sserversrv ;sourcesrc ;statisticstat ;stringstr ;SybaseSyb;temp tmp ;text txt 11;Uuser usr ;Wwindow wnd ; (win)-可编辑修改-Welcome ToDownload !欢迎您的下载,资料仅供参考!
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 方案规范


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!