Skip to content

paxoscn/code-graph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LICENSE Language

Code Graph - 用于从项目代码生成依赖关系图的工具

介绍

当你面对一个陌生的项目想要阅读其代码时, 使用本工具可根据该项目中的代码快速生成一张依赖关系图, 来帮助你快速了解该项目的全貌.

以一个Java项目为例(你可以在./java/examples/example-1找到该项目), 其核心代码如下:

com/example/King.java

public class King {

    private Chef chef;
    
    public void haveDinner() {
        // 主厨向国王提供晚餐.
        List<Food> dinner = chef.prepareDinner();
        
        // Eating dinner.
    }
}

com/example/Knight.java

public class Knight {

    private Cook cook;
    
    public void haveDinner() {
        // 厨师向骑士提供晚餐.
        Food dinner = cook.cook();
        
        // Eating dinner.
    }
}

com/example/Chef.java

import java.util.LinkedList;

public class Chef {

    private List<Cook> cooks;

    public List<Food> prepareDinner() {
        // 主厨指挥所有厨师一起制作晚餐.
        List<Food> dinner = new LinkedList<>();
        
        for (Cook cook : cooks) {
            Food food = cook.cook();
            
            dinner.add(food);
        }
        
        return dinner;
    }
}

com/example/Cook.java

public class Cook {
    
    public Food cook() {
        // 厨师负责制作一份食物.
        
        return null;
    }
}

进入./java目录, 运行CodeGraph工具:

./mvnw compile exec:java -Dexec.args="./examples/example-1"

运行完成后, 将打印出一个PlantUML格式的调用关系图:

PlantUML格式的调用关系图

快速开始

Java项目

进入./java目录, 执行:

./mvnw compile exec:java -Dexec.args="[你的Java项目路径]"

运行完成后, 将打印出一个PlantUML格式的调用关系图.

你可以在

https://plantumlviewer.web.app/

上渲染它并导出图片.

你也可以用支持PlantUML格式的IDE插件或程序来渲染它.

开源协议

本项目使用Apache 2.0协议. 详情请见: LICENSE.

告知

About

A tool to generate dependency graph from code

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages