图形化编程实现模块化和面向对象编程

新增功能

最近折腾了一个月,给图形化编程增加了很多功能,让图形化编程可以使用更多的代码特色功能,让图形化编程使用起来更简单,功能更强。图形化编程不是给程序员用的,是给小孩子和没有编程能力写脚本控制硬件,所以采用拖放方式完成编程,所以看起来比敲代码要复杂。

支持模块化编程

在类库中增加选择的脚本文件,脚本里边extern的变量、函数和对象都可以在其他脚本中使用,从而实现模块化编程,减少代码大小,也实现代码的重用。
使用脚本作为类库,被其他脚本引用

支持面向对象编程

实现对象的编程,只需要增加三种statement块,class定义,对象constructor定义、方法定义和this块,通过变量定义实现对象属性,通过extern块控制对象可见范围。

为了测试,写了一个复杂的包含对象、二叉树、递归的脚本,正常运行没有问题。
写了复杂的程序测试,包括对象、二叉树、递归

正确执行

支持多线程编程

线程操作相对比较简单,不过有了多线程的支持,图形化编辑器功能更加全面
多线程编程

代码实现原理

上边博客讲了图形化编程的简单原理,模块化和面向对象,通过执行环境(ExecutionEnvironment)层级来实现,模块和class在加载时候都有自己的执行环境,模块和代码就是保存自己的执行环境,模块下方法和变量的执行只需要在这个执行环境下运行就可以,而对象实现就是在执行环境下新建一个执行环境(this就是这个执行环境),对象所有的变量都保存这个子执行环境中,每个对象(this)在定义位置的保存数据就是这个执行环境。具体实现,有兴趣的人,可以后期访问githup查看具体代码

其他特色实现

  1. 改善软件性能 ,块列表加载后进行缓存,第二次点击开始,都使用缓存的列表,提高了打开列表的速度。
  2. 支持代码折叠
  3. 增加了List和Dictionary初始化块,可以方便的初始化列表和字典,也可以在函数参数中使用,从而让脚本更像代码
  4. 支持代码块复制,按住ctrl拖动块,就可以复制块
  5. 支持函数快捷调用,按住ctrl或者alt拖动函数块,可以得到函数调用块
  6. 增加extern和const块,控制变量和函数的可见性,通过const块定义常量

list和dictionary初始化
代码折叠

总结

通过这么优化和工作,图形化编程更像代码,功能也更强,希望以后用这个软件学习代码的人能学到更多的代码知识。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值