什么是工程文件结构
一个项目的工程文件应该以怎样的文件夹层次存储在硬盘上。这个问题看似简单,但是做好真的不容易。一个好的文件结构应该有以下几个特点:
一、复制后的运行一致性
当我们把一个装有程序的文件夹复制到其他路径时(本电脑的其他路径或其他电脑的路径),运行结果完全一致(不缺东西,内容一致)。这里包括VI、第三方库、配置等。
二、exe与源代码应该载入同一套配置文件
这样我们改源代码时的运行结果和生成exe后的结果才会运行一致。不然你调试时会很蛋疼。
三、exe与源代码的版本应严格对应
确保过了几年以后,你还能找到exe对应版本的源代码。
四、应该有对应的版本升级说明
做好版本记录真的非常重要
推荐使用的工程文件结构
本人推荐使用以下工程文件结构:
ConfigurationFile
文件夹用于存储所有的配置文件、第三方库文件、装饰性图片等
exe文件夹
这里用于存放工程生成的exe文件。将exe文件放在这个地方能够确保exe与其对应版本的源代码永远一起被复制/转移。确保不会出现找不到exe对应版本的情况。同时,exe与工程文件(这里主要指.lvprog文件)有一个确定的相对路径关系。程序中使用以下结构确保源代码与exe均调用同一个ConfigurationFile里的配置。
当系统检测到运行环境为Run Time时(即exe模式运行),多拆分一层路径,确保生成exe前后均指向同一个配置文件夹 。利用“应用程序目录”来指向来自.lvprog文件夹所在的目录下的配置文件。这样做的好处是,当你备份程序时,会将配置一起备份。运行老版本程序运行时也会自动使用老版本的配置。
Framework文件夹
用于存放架构性VI及VI库,这里的源代码大多不需要根据项目修改,是通用性的软件模块。不同的项目之间可以直接复制过来使用。
User文件夹
User文件夹用于存放本项目特有的程序vi,这些VI往往是需要根据不同项目进行频繁修改的。也是我们项目写代码的主要位置。
User文件夹里分为两个固定的子文件夹:
IO文件夹用于存放与项目外围硬件设备相关的代码。比如电源驱动、LIN通讯封装等
Process文件夹用于存放具体的测试工艺逻辑,是我们项目中实现测试逻辑的主要阵地。
Main文件夹
用于存放主函数及与主函数相关的labview库文件。
lvprog工程文件
工程文件就平铺在程序文件下,这样便于索引ConfigurationFile文件夹。
Startup.vi
是程序的运行入口,我一般喜欢用Startup.vi引导载入Main函数。喜欢直接运行Main的人可以忽略。
Readme.txt是版本更新说明。
工程备份要点
1、没有后缀名的文件夹永远是当前最新的程序。
2、确保备份程序后面的版本号与Readme.txt里的保持一致。
工程文件夹类型要点
除ConfigurationFile文件夹外,其余文件夹不要使用“自动更新”文件夹类型。这一点非常重要!要不然到后期用面向对象写程序时,根本没办法组织工程。现在就培养好习惯。