“可执行”的流程图

最近,寻找合适的流程图工具中,有一类比较特殊,除了通用的作图功能外,更可以输出代码或者应用或者是任务(draw.io可以集成到vs code等各种IDE,但是仅仅是提供图示,并不能输出代码和脚本进行紧密结合),对于有开发经验的来说,称为“可执行”的流程图比较贴切(站在开发人员角度,图是双向的,后面对应的是代码或者脚本了,好的工具都是可以做到“双向”编辑)。
以前编程的时候用的Rational Rose就是典型的双向工具,从UML图中可以直接生成代码(代码中通过特殊的注释-脚本来标识),反过来在这个代码基础上进行的修改也会同步到图上,如果设计理顺了,代码实现是很爽的。
很多软件都带有这个特性,比较适合高级用户自己在基础软件上定制一些用途,现在常用的有下面几类,先占个坑。
一、数据自动处理类(如ETL),传统的有SQL Server2000中的DTS,带有数据处理图形化设计器,自动生成任务,自动执行,笔者曾经用这个编写过很复杂的程序,现在看起来功能很简洁,但很靠谱。后来升级到了SQL Server2005的SSIS,号称是ETL了,其编程工具有点复杂,没深入。现在新一代ETL工具大行其道,比如Spoon也是流行的ETL图形化工具,在Kettle中用的很多。

   

SQL Server2000 DTS设计器标题
Spoon
Spoon


二、自动代码类(plantUML),前面说的RationalRose就是可执行UML的前辈了,但太昂贵也太复杂。免费的包括PlantUML和StarUML。
PlantUML本质上是也算一门可以快速画图的设计语言,可以使用几乎绝大部分IDE开发环境,例如JetBrains PHPStrom, Pycharm, vscode…,在IDE开发环境下,你可以像使用Mark Down编辑器一样,左栏输入代码(plantUML代码),右栏可以几乎同时看到生成的流程图。
注意,因为plantUML是脚本性质的,很容易扩展为代码双向编程工具使用,就像Rose一样,网上可以查到有一个Go语言的类似项目。

基于脚本的UML工具plantUML

三、工作流类,还有一类就是工作流引擎了,在国内很多OA,如泛微等都会有这样一个工作流引擎,然后通过一个工作流设计器进行可视化设计,然后就可以生成一个应用,也算可执行流程图了。

OA的工作流设计器

 


可视化的工具越来越成熟,很多甚至免费。这些工具给工程带来和很大的便利性,特别是开发的便利和维护的便利。但另一方面,开发人员容易迷失在这些工具中。
这些工具为我们提供图形化界面,将我们主要的精力放在规则上,提高开发效率。例如ETL中,确实使用这些工具能够非常快速地构建一个job来处理某个数据,不过从整体来看,并不见得整体效率会高多少。问题主要不是出在工具上,而是在设计、开发人员上。他们迷失在工具中,没有去探求ETL的本质。如果我们不透过表面这些工具的简单使用去看它背后蕴涵的思想,最终我们作出来的东西也就是一个个独立的job,将他们整合起来仍然有巨大的工作量。
如果在一个领域有所超越,必须要在理论水平上达到一定的高度.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值