新增功能

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

支持模块化编程

在类库中增加选择的脚本文件,脚本里边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块定义常量

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

总结

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

相关文章:

  • 2022-12-23
  • 2021-08-04
  • 2022-12-23
  • 2021-12-31
  • 2022-12-23
  • 2021-07-29
  • 2022-01-27
  • 2022-02-01
猜你喜欢
  • 2022-01-29
  • 2022-12-23
  • 2021-12-09
  • 2022-01-27
  • 2022-12-23
  • 2021-11-28
  • 2022-02-11
相关资源
相似解决方案