需要写一个README文件,但不知道该说什么?如果这是一个经常困扰你的问题,你可以考虑用图表来加强你的文件。毕竟,正如老生常谈的那样,一张图片胜过千言万语。
这篇文章收集了为代码库生成图形的工具。
按大小和类型对文件进行可视化
让我们从最通用的工具开始,repo-visualizer。它把文件绘制成气泡,用颜色和大小分别表示它们的扩展名和大小。它是由GitHub Next带来的,是GitHub公司的一个实验室,(自然)它被打包成GitHub Action。
可视化Docker Compose文件
下一个工具专门为Docker用户服务,但它仍然是不分语言的。为了使docker-compose.yml可视化,你可以使用docker-compose-viz。
docker run \--rm \-it \--name dcv \-v $(pwd):/input pmsipilot/docker-compose-viz render \-m image docker-compose.yml
下面是它的外观:

我喜欢它还绘制了额外的信息,如开放的端口和装载的卷:
调用图的可视化
Code2flow支持一些动态语言,包括Python、JavaScript、Ruby和PHP。
下面是其README中提供的例子。
code2flow code2flow/engine.py code2flow/python.py --target-function=code2flow --downstream-depth=3

如果Python是你唯一关心的语言,你可能听说过pycallgraph,但是–唉,开源软件项目的祸根–原作者由于个人时间限制而不得不放弃这个项目。我能找到的最合理的替代品是pyan。
pyan *.py --uses --no-defines --colored --grouped --annotated --svg >myuses.svg

视觉化的依赖性
构建系统和包管理器的一个基本功能是依赖性解决。正如你所期望的那样,许多可视化工具利用这些软件生成的依赖关系图来绘制版本库的图示。
在引擎盖下,这些工具大多使用graphviz来完成实际的绘图工作。因此,不要惊讶地发现这些图有类似的风格。
Bazel是一个语言无关的构建系统。Bazel背后的开发者非常了解它的用户,他们为用Bazel定义的依赖关系的可视化提供了官方指南。
bazel query 'deps(//:main)' --output graph > dependencies.in
dot -Tpng < dependencies.in > dependencies.svg
它给出了这样的信息:

对于环境中的Python包,使用pipdeptree。
pipdeptree --graph-output svg > dependencies.svg

对于用Maven构建的Java项目,depgraph-maven-plugin是个不错的选择
mvn com.github.ferstl:depgraph-maven-plugin:graph

希望有更多的互动性!
也许你在这里不是为了填满你的README;相反,你只是想尽可能快地、直观地了解一个 repo。如果是这样的话,有一些不错的工具可以供你使用。
Gource。一个本地运行的软件。
CodeSee。一个提供付费计划的云服务。