LabVIEW 吸星大法 - 看见的好东西都是我的(下篇)
前言
写了多年的LabVIEW程序,你是否面临这样的问题
总是在做一些重复的工作,感觉很没有意思;
总在不停的写代码,做类似的控件,实现相同的功能,丝毫没有成就感;
总在天加班,没有时间去提高自己;
你也知道简单的重复并不能带来效率的提高,却不知道走向何方,无奈而又焦急着?
小黑今天带你聊一聊LabVIEW吸星大法,让你在工作中越来越有效率,体会一切皆可掌控的妙感~
记住,我们的口号是 : 告别重复造车,你的就是我的,万物皆为我所用~
引言
经过了前两篇的介绍,相信接触LabVIEW你已经了解一些复用和积累的基本常识。
今天谈的下篇同样是在积累和复用方向上延续,不过这次不谈技术,我们来谈谈情怀。
小黑接触LabVIEW其实很单纯,是因为虚拟仪器和测控技术与仪器名称相关,感觉和专业相关,所以就报了社团去学习。
慢慢的,当LabVIEW接触深入后,它已经告别了一个工具,逐渐成为了自己强迫症的体现。作为一个程序设计师,愈来愈无法容忍丑陋的代码,所以我从图标开始设计,始终要求写漂亮的程序,而不是单纯的实现功能。
漂亮的程序可读性增加,而可读性的基础是SubVI图标。所以,今天我们谈的是UI图标复用。
UI图标复用是什么?
UI图标复用指的是,通过对UI的Template,UI的ICON复用,实现图标的快速和批量设计,达到加速LabVIEW开发的目的。
下图是小黑的UI Template,通常用于快速设计UI的框架
下图是小黑的Icon图标库
为什么进行UI图标库复用?
如果用PDCA流程检查LabVIEW程序员开发程序的过程,很容易发现这样一个现象。
如果你为了图快速设计程序,尽可能的简化图标设计,从而导致程序中充满大量的默认图标,程序可读性非常差。
如果你为了提高程序可读性,花费大量的时间设计图标,当大量VI需要开发时,图标设计将浪费很多时间。
所以,快速的设计LabVIEW图标会极大的提高LabVIEW的开发速度。通过简单的复用积累,图标设计的工作将简化到最低,你会留出更多的时间用来软件架构的设计和思考。
复用图标之前,你必须要明白以下几个问题
1.哪些图标是需要复用的
事实证明,一个软件程序中,VI总是可以按照不同的标准分为不同的类别。尤其是相同功能的API应该尽可能保持相同的图标模板,以方便后续阅读中轻易区分。
2.什么时候使用什么样的图标
图标的复用是一门艺术,你只有知道如何复用图标,如何设计图标易于理解,才会写出可读性很好的程序(至少说写出自己可以比较容易看懂的程序)。如果写的程序自己看着都费劲,那更别提别人了。
谁来进行UI图标复用?
设计LabVIEW程序所有人员,抑或是读代码的人,或者接别人留下的坑,只要你想要快速的阅读代码,优秀的图标设计将会给程序设计带来极大的益处。
如何进行UI图标复用?
UI图标复用可以让你花费小时间去节约大量开发时间,并且你的程序可读性将会极大的提高。如何进行呢?
小黑总结了以下三点供大家参考。
吸星大法--积累
吸星大法--归档
吸星大法--善用工具
积累
在三篇吸星大法中,小黑一直在强调一个概念,积累和复用。在做UI图标复用的时候,积累同样必不可少,小黑介绍一下自己的工作习惯,仅供大家参考。
当遇到一类驱动时,尽可能的设计一个Template,因为这个驱动很有可能包括Initialize,Action,Read,Write,Close这几个操作,所以使用同一的Template可以让你保持一致的程序风格。
小黑的图标设计总是以一个自己精心设计的基准图标开始(哈哈,所有子VI都打上了Elton的Logo,只要一看就知道这些程序是我写的.....)
如果我设计机器人的初始化和关闭,我可以在Glyphs中设置如下的图标
怎么样,是不是简单又好看(认为不好看的可以自行设计,这里仅仅是作者的自我陶醉....)
So,整个过程由两个关键点
1.在设计系列SubVI时,提前将Template存储下来
归档
Template和Glyphs在不停的积累后,你将会有大量的图标库,如果仔细整理,你将会再次从整理中获益。图所示的一些Template就是在不同设计中用到的图标(有些图标是从Unclad那里吸星大法用到的,这里表示对亮神的佩服)
用于设计类的图标头
用于设计FGV的图标
用于一些驱动的图标
用于表示文件类型的图标
用于设计Tree的图标库
等等等等.....
善用工具
如果你没有好看的图标怎么办
1. 能不自己搞就不自己搞,上网扒一扒,有很多的
2. 如果不喜欢网上的图标,可以自己设计,推荐一款图标设计软件IconCraft,我是使着非常的舒爽。比LabVIEW的图标编辑器复杂很多,可以设计一些精细图标。
![](https://images2015.cnblogs.com/blog/841277/201612/841277-20161213221824276-1866042857.png)
3. 如果你不知道有工具包你就Out啦,图标设计在VIPM和NI Community是有不少图标工具的,这里我非常喜欢的一个是GDS(可以自行百度,考验大家的搜索能力了),具体功能给大家Show一下。
可以在项目中,直接编辑类的图标
![](https://images2015.cnblogs.com/blog/841277/201612/841277-20161213221825339-2119803037.png)
可以自动根据VI名称生成图标,并且可以自动配色(大部分情况下虽然配色很丑....)
![](https://images2015.cnblogs.com/blog/841277/201612/841277-20161213221825917-1767492061.png)
可以快速修改类的连线
![](https://images2015.cnblogs.com/blog/841277/201612/841277-20161213221826729-702574644.png)
![](https://images2015.cnblogs.com/blog/841277/201612/841277-20161213221826729-702574644.png)
功能强大,比自己配置方便许多,可以轻松设计图标线束了~
![](https://images2015.cnblogs.com/blog/841277/201612/841277-20161213221828964-400283088.png)
后记
LabVIEW吸星大法,将你的图标精细设计,你将写出更加漂亮的程序,在效率和美观上,我们可以做到兼顾,只要你愿意去做努力。
如果本文对你有所触动,真心希望你能去尝试尝试,体会一下积累的价值,告别盲目的加班,让工作更加有效率~
术业有专攻,闻道有先后,在知识大门前,我们可以略窥一二,却不知天外有天,人外有人。保持一颗谦逊的心,专注于技术的提高,精益求精~
-----谨以此文献给落入LabVIEW坑却仍不放弃的各位,我们不是专业的软件工程师,却有一颗上进的心。