Code2flow

动态语言调用图
授权协议 MIT
开发语言 Python
所属分类 开发工具、 代码管理分析/审查/优化
软件类型 开源软件
地区 不详
投 递 者 呼延哲
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Code2flow 为动态编程语言生成调用图。Code2flow 支持 Python、Javascript、Ruby 和 PHP。

基本算法很简单:

  1. 将您的源文件翻译成 AST。
  2. 查找所有函数定义。
  3. 确定调用这些函数的位置。
  4. 将点连接。

Code2flow 将提供对你的项目结构的一个很好的估计。

 

安装

pip3 install code2flow

此外,根据要解析的语言,可能需要安装其他依赖项:

用法

要生成 DOT 文件,请运行以下内容:

code2flow mypythonfile.py

对于 javascript:

code2flow myjavascriptfile.js

还可以指定多个文件或导入目录:

code2flow project/directory/source_a.js project/directory/source_b.js
code2flow project/directory/*.js
code2flow project/directory --language js
  • 文件名大小更新时间 flow_code02010-06-12 flow_code\@alt_ba_optical_flow02010-06-12 flow_code\@alt_ba_optical_flow\private02010-06-11 flow_code\@alt_ba_optical_flow\parse_input_parameter.m30822010-06-12 flow_cod

  • 参考:https://www.cnblogs.com/ken-io/p/gitlab-code-review-tutorial.html (基于GitLab的Code Review教程,结合IDE) 参考:https://blog.csdn.net/zhanshixiang/article/details/104139970 (GitFlow 工作流)

 相关资料
  • 在动态类型语言去掉类型二字,就成了动态语言,比方说不少地方都说python是动态语言,其实只是它的动态性比较多一些而已,很多所谓的静态语言也有动态性,只是没有那么明显,因此动态语言是一个很含糊的词,一般而言就是随主流的认识,比如python,ruby是动态语言,C,java是静态语言等 动态性不适合修饰语言,适合修饰一些语法特性,简单的说,静态就是编译期可以决定的一些事情,而动态就是运行期才能决定

  • 本文向大家介绍动态语言、动态类型语言、静态类型语言、强类型语言、弱类型语言介绍,包括了动态语言、动态类型语言、静态类型语言、强类型语言、弱类型语言介绍的使用技巧和注意事项,需要的朋友参考一下 关于如题这几个概念,大部分人应该比较熟悉,但是我昏了好久,所以写下来加深印象。 1. 动态语言 又叫动态编程语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如

  • 问题内容: 我只是想知道Swift是像php一样的动态还是静态的,我的意思是我可以在应用程序运行时生成类吗? 问题答案: 它是静态的-非常静态。编译器必须有关于所有类和功能的全部信息 在编译时 。您可以(使用)“扩展”现有的类,但是即使那样,您也必须在编译时完全定义该扩展所包含的内容。 Objective-C是动态的,并且在现实生活中,由于您可能会在Cocoa的存在下使用Swift,因此可以使用O

  • 在 Go 语言开篇中我们已经知道,Go 语言与 C 语言之间有着千丝万缕的关系,甚至被称之为 21 世纪的C语言。 所以在 Go 与 C 语言互操作方面,Go 更是提供了强大的支持。尤其是在 Go 中使用 C,你甚至可以直接在 Go 源文件中编写 C 代码,这是其他语言所无法望其项背的。 格式: 在 import "C" 之前通过单行注释或者通过多行注释编写C语言代码 在 import "C" 之

  • 快速上手 如果你有通过 NodeJs 调用 SOFARPC 的需求.可以按照如下的文档来开始. 安装 首先按照文档安装 https://github.com/sofastack/sofa-rpc-node 使用命令. $ npm install sofa-rpc-node --save 代码示例 暴露一个 RPC 服务,并发布到注册中心 'use strict'; const { RpcSer

  • 第 25 章 动态语言支持 目录 25.1. 介绍 25.2. 第一个例子 25.3. 定义动态语言支持的bean 25.3.1. 公共概念 25.3.2. JRuby beans 25.3.3. Groovy beans 25.3.4. BeanShell beans 25.4. 场景 25.4.1. Spring MVC控制器脚本化 25.4.2. Validator脚本化 25.5. 更多的