LabVIEW样式检查表6
以下是第六部分。
使用以下清单可帮助保持一致的样式和质量。用户可以自定义这些清单以适合应用的要求。
LabVIEW VIAnalyzer Toolkit提供了以交互方式或编程方式检查VI的风格、效率和LabVIEW编程其他方面的测试
零散检查表
通过使用适当的同步技术避免争用条件。 可以使用队列、数据值引用和信号量等同步技术来防止出现争用情况。如果功能全局变量保护包含修改数据的操作的关键部分,则还可以使用功能全局变量来防止争用条件。如果功能全局变量保护包含仅读取和写入数据的操作的部分,则不能使用功能全局变量来防止争用条件。 |
适当地处理所有不受支持的值。 例如,如果创建 API,请考虑为不受支持的输入返回错误。如果创建用户界面,请配置控件的输入范围。 |
如果 For 循环执行次数为零,请确保它们的行为符合预期。 在这种情况下,如有必要,请使用移位寄存器通过循环传递值。如果将值或引用连线以通过 For 循环,请使用移位寄存器而不是隧道。 
|
仅当确信将来添加新事例或事件不会在程序中引入Bug时,仅当在案例和事件结构的隧道上断开连接时才选择“使用默认值”。如有疑问,请避免使用此功能 |
验证是否可以轻松识别 For 循环执行的次数。避免同时使用自动索引和 N 终端来控制同一 For 循环的迭代。如果使用这些选项中的多个选项,则可能会对循环的执行次数造成混淆。此外,在对多个不同大小的数组进行自动索引时要小心。 |
避免创建包含多个同名元素的Cluster。 |
创建要在多个平台上执行的VI时要特别小心。 如果可能,请避免使用仅在特定平台上正确执行的VI。相反,请将特定于平台的功能放在特定于目标的条件禁用结构中。 包含调用库函数节点的 VI 是特定于平台的。使用调用库函数节点调用共享库的 VI 依赖于平台,并且仅当每个平台都有相应的库时,才在不同的平台上工作。如果将包含调用库函数节点的VI移动到另一个平台,则必须更新节点以指定为新平台编译的共享库。 还可以使用条件禁用结构来配置特定于平台的代码。仅将这些VI配置为源,以提高与源代码管理的兼容性。 |
如果使用无限超时,请提供一种以编程方式中止等待的机制。 避免使用任意计时延迟,并假设重要事件在这些延迟期间执行。此外,请避免在没有验证是否发生了相关事件的情况下继续操作。如果必须使用延迟,请提供有关如何确定延迟持续时间的注释。 |
错误处理检查表
正确处理错误。 请仔细考虑报告代码中潜在错误的每个位置。添加注释以解释有关错误放置的任何可能令人困惑的决策。 使用一致的错误处理策略。确保程序可以处理所有错误条件和无效值。确定错误的操作,例如记录、终止和通知用户。 |
自动错误处理在所有VI(包括新VI)禁用自动错误处理,在发生错误时停止执行,并在继续之前等待输入。此自动停止可能会导致已部署的系统或应用程序中出现问题。 |
优先考虑首先发生的错误。这些错误可能会导致任何后续错误。 当通过循环传递错误时,请使用移位寄存器而不是隧道来维护警告。在合并错误时,请给予第一个错误优先级,除非有特定原因不这样做。 |
对包含错误输入和错误输出参数的 VI 使用case结构,以区分错误条件和无错误条件。 为即使在遇到传入错误时也应执行的代码或在没有错误情况下需要性能优化的VI设置例外。使用VI文档和/或注释来记录异常。 |
请考虑创建自定义错误文件以包含应用程序的所有错误说明。 |
需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目问题,可联系我们。
北京瀚文网星科技有限责任公司www.bjcyck.com,是一家以LabVIEW(虚拟仪器)为主要技术手段的开发公司。其服务领域包括:汽车、通信、航空、半导体、电子设计生产、过程控制和生物医学等各领域。涵盖了从研发、测试、生产到服务的产品开发所有阶段。
公司提供运动控制、电子设计、视觉和射频以及无线等诸多领域的解决方案,技术咨询以及资源整合。所提供服务确保符合北京瀚文网星产品认证和行业标准,更有效地使用北京瀚文网星的全球资源,提供LabVIEW软件开发、维护、破解等服务以及北京瀚文网星产品代理。
13691203761王工(手机微信)