首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应该使用什么图来表示算法逻辑

应该使用什么图来表示算法逻辑
EN

Stack Overflow用户
提问于 2016-06-27 23:58:46
回答 3查看 249关注 0票数 1

我有一个递归函数:

代码语言:javascript
复制
function inline(o) {
    return objEntries(o).reduce(function (result, item) {
        var key = item[0];
        var val = item[1];

        if (val instanceof Object) {
            objEntries(inline(val)).forEach(function (subItem) {
                var subKey = subItem[0];
                var subVal = subItem[1];

                result[key + '.' + subKey] = subVal;
            });
        } else {
            result[key] = val;
        }
        return result;
    }, {});
}

function objEntries(obj) {
    return Object.keys(obj).map(function (key) {
        return [key, obj[key]];
    });
}

它获取一个对象并内联其属性。例如,如下所示:

代码语言:javascript
复制
var o = {some: {prop:5}}

变成这样:

代码语言:javascript
复制
var o = {"some.prop": 5};

我想在视觉上展示它是如何工作的。我可以使用哪些图表或符号?有没有人可以提供基于我概述的功能的小示例?

EN

回答 3

Stack Overflow用户

发布于 2016-06-28 00:24:26

你不会的,UML非常适合抽象。但一旦涉及到算法,它就一文不值了。不要试图使用序列图和片段,尽管您可能会提出算法。UML模型和代码之间存在某种裂痕,最好不要用UML弥合这种裂痕。如果您使用UML抽象地描述目标,并将其余部分留给编码人员,这是目前为止最好的方法。

附注:我在90年代一直梦想着图形化编程。我们有3和4GL,但你今天在实践中看到了什么?更像C语言的东西。祝Alf好运,但它可能也会以新鲜的猫汁结束。

票数 2
EN

Stack Overflow用户

发布于 2016-06-28 00:55:29

我不同意托马斯的观点。Alf是一种新的UML编程语言,默认情况下内置了函数式、面向对象和并行处理。它生成活动图。

即使你不使用Alf,活动也可以递归地调用它们自己。活动图只是比Alf更难画而已。Alf非常紧凑和强大。

票数 2
EN

Stack Overflow用户

发布于 2016-06-28 15:23:36

从理论上讲,活动图能够表示算法逻辑。

然而,这仍然应该在某种抽象级别上完成。使用UML记录每一行代码是没有意义的,否则您最终将使用UML进行编程,然后您将不得不寻找将"UML代码“转换为”常规“代码(或UML编译器)的工具。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38058433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档