我正在开发基于拖放组件的可视化编程工具。我们目前能够从我们的图形组件(每个组件都是一个类)生成工作 Python 代码。图形组件通过箭头连接,每个组件都有一个带有下拉菜单、复选框等的设置窗口,用于详细配置。
现在,我们想做相反的事情,让用户编辑代码并将这些更改反映在图形组件中。
我们一直在思考几种不同的解决方案:
- 解析代码。这似乎很脆弱(变量名可以改变,赋值可以在条件中发生,等等)
- 为每个渲染的组件添加抽象属性
- 将配置对象传递给每个渲染的组件
作为开发人员,我的直觉认为后两者是最可行和最强大的解决方案,但我很难将我的担忧用能够引起利益相关者共鸣的语言表达出来。
关于同一主题的一个相关问题:我们也在考虑将用户从头开始编写的“任何”代码转换为图形组件的前景。也就是说,使用与我们相同的 3rd 方框架的代码,但不一定是在考虑我们的框架的情况下编写的。
在估计此类任务的复杂性时应考虑哪些因素?我可以研究这些主题的成功/恐怖故事吗?