我们都知道两点之间最近的路径是直线,遗憾的是程序员往往走的并非直线。

目的:字符串转换为双精度数。
网友的程序框图:

 
 
初学者创建的程序通常仅仅是为了完成某种特定的功能,它的程序结构往往存在很多问题,因此基本上是无法重用的,LABVIEW创建的程序尤其如此,原因在于LabVIEW图形化编程非常易于使用,与编程者的思维方式更容易契合,因此创建的程序框图显得更为随意,没有规划。

同一些LabVIEW初学者交流程序时,每当要求他们贴图时,他们经常会说“没办法,程序框图太大”。“程序框图太大”本身就说明我们的程序框图存在相当大的问题,如果能把我们的程序框图缩小到一定程度,就说明程序框图的模块化程度很高了。

在完成的程序功能基础上,一定要花费一定时间对代码进行重构和优化,否则一段时间后,可能我们自己也无法看懂了。

下面我通过网友的一个具体的实例谈谈代码重构的问题,示例存在很多的各种问题。因为程序框图非常大,只能通过导航窗口才能看到全貌,如下图所示:


 
 
我们都知道两点之间最近的路径是直线,遗憾的是程序员往往走的并非直线
C语言中if语句经常会遇到下面的情形。
if (sth==TRUE)
{
      //do sth
}
实际是上可以简化为:
if(sth)
{
   //do sth
}
在LABVIEW编程中,初学者也经常会有类似的错误,看看下面的程序框图:

 
 
习惯于C语言编程的工程师,在LV中使用FOR循环经常会出现误解,原因在于LV中FOR循环独特的索引功能。其实,FOR循环的索引功能并非LV独 有,MatLab、MatScript也是这样处理FOR 循环的。

下面的程序框图摘自LV群,目的是计算一个数组的平均值。