生成代码依赖图: rust golang
位制烈张巴
发表于 2022-12-31 21:34:39
523
0
0
rust
使用工具cargo-deps生成 grin 依赖图。
需要安装:
cargo-deps用于将代码依赖关系使用dot语言表现graphviz用于将dot语言转成svg/png格式,我倾向于使用svg,因为有些大型项目依赖关系复杂,png格式会很大,打开会很慢,svg格式则好很多,不过一般系统一般不自带svg浏览器,需要另外安装9 p0 p* {1 w h4 T
cargo deps --subgraph grin grin_api grin_config grin_core grin_keychain grin_p2p grin_servers grin_util grin_wallet --filter grin grin_api grin_config grin_core grin_keychain grin_p2p grin_servers grin_util grin_wallet blake2-rfc chrono clap rpassword ctrlc humansize serde serde_json log term linefeed failure failure_derive | dot -Tsvg > 1.svg
其中:
--subgraph 表示将后面的一串package放在一个方框内--fiter表示只显示后续的一串package,如果不设置,遇到大型项目,生成的图会很大,线条缠绕在一起,很难屡清楚关系。
golang
使用工具 go-callvis 查看lnd的依赖图:
go get -u github.com/TrueFurby/go-callvis$ h2 K2 Y" d% t' M) T) s" u
go get github.com/lightningnetwork/lnd
go-callvis github.com/lightningnetwork/lnd/cmd/lncli
会自动在浏览器打开链接:
上述的只是最简单的用法,详细的参数使用方法可以参见我写的wiki https://github.com/TrueFurby/go-callvis/wiki/Use-flags
可惜的是运行go-callvis github.com/lightningnetwork/lnd会出错,bug来源于golang本身,1年前的issue至今未解决,golang现在有4000多个Open issues,可见golang的不成熟带来的麻烦,新潮语言的弊端。
https://github.com/TrueFurby/go-callvis/issues/24https://github.com/golang/go/issues/25090- f% w& P' Y7 v6 G; I
成为第一个吐槽的人