用于代码生成的 dia2code

Posted

技术标签:

【中文标题】用于代码生成的 dia2code【英文标题】:dia2code for code generation 【发布时间】:2015-04-03 09:47:40 【问题描述】:

我打算用dia创建UML图,然后用dia2code生成python代码。

直径示例很有用:

# Operations
def add_update(self):
    """function add_update

    returns 
    """
    But here, i have nothing
    return None # should raise NotImplementedError()

我在生成的代码中添加了“但是在这里,我什么都没有”,但是可以自动执行此操作吗?在我的乌托邦世界中,我可以:

    编辑我的 UML 图

    根据我不断变化的项目,将各个方法的代码更新成dia图

    使用dia2code生成最终代码

我使用 Umbrello 来做到这一点,但它经常在我的 Mint 上崩溃,我放弃了。

我错过了 dia 中的某些内容吗?你有诀窍吗?你知道其他软件吗?

提前感谢您的宝贵时间,

比比

【问题讨论】:

真正的 UML 建模工具不关注图片和逆向工程图片。相反,他们专注于构建 UML 模型,该模型可以使用许多不同的图片进行可视化。请参阅en.wikipedia.org/wiki/List_of_Unified_Modeling_Language_tools 获取一些候选列表(包括免费或开源) 【参考方案1】:

你试过GenMyModel吗?您现在可以直接从浏览器创建 UML 模型并使用 UML2python 生成器。您还可以根据您的特定需求对生成器进行个性化设置。 blog post about the UML2Python generator

【讨论】:

我对 GenMyModel 也有同样的问题,但我找到了一个窍门! ;-) 但它不能正常工作:-(。通过删除“””更改脚本 simpleUML2python,第 150 和 152 行。现在,当我在方法的“文档”部分编写时,它是在没有“”的情况下生成的",所以它是代码。但它只适用于一行。对于 2 行,它会生成:"print ('bibi')print ('babo')" 其实description字段是用来做文档的。这就是为什么生成器会在文档的开头和结尾写“””,并且该字段为“html”格式。使用您的模块,您可以添加此查询:[query public prepCode(s : String) : String = s.replaceAll('<br>', '\n') /] 并修改第 208 行 @987654325 @ to [c._body.prepCode()/] 这应该可以完成工作。也许您还必须修改 bodyOperation 模板。此外,在代码中使用受保护的块,您可以在文件上重新生成而不会丢失您在 gen 文件中编写的代码. 感谢您的帮助,我暂时没有尝试这个。一位同事与我谈论了 BOUML,它出现在您的链接 xmojmr 中。它应该能够在没有技巧的情况下本机生成主体,请参阅:bouml.fr/doc/operation.html#Menu%20:%20edit%7Coutline 中的“操作对话框,标签 Python”。今天晚上,我会试试这个工具,如果它工作正常,我会告诉你。如果没有,我将在 GenMyModel 中使用您的修改。真可惜,GenMyModel 中的在线编辑太有趣了!

以上是关于用于代码生成的 dia2code的主要内容,如果未能解决你的问题,请参考以下文章

用于缓存目的的代码生成

用于代码生成的 Visual Studio 自定义工具...如何找出问题所在?

搭建自动化代码发布系统

检查哪个工具箱用于生成 C++ 代码

用于代码拆分的 Webpack 配置不适用于生产构建

用于选定文本和远程代码生成的 Resharper API