How to?

尾调用同级的树形图

Jun 23, 2026
2606
3 Minutes
410 Words
1
展示函数调用链. 使用尾调用同级的树形图,即每行一个函数或一个重要循环,不重要可省略,并且一个函数的子函数中的最后一个与父函数必须处于同一缩进,其他缩进 + 1 e.g.
2
f()
3
├── f 的第一个子函数
4
│ 如果 f 只有一个要展示的子函数就这样画
5
├── ...
6
f 的最后一个子函数 g()
7
├── g 的第一个子函数
8
g 的最后一个子函数
1
std.debug.print()
2
├── std.debug.lockStderr()
3
│ ├── Io.lockStderr()
4
│ │ ├── Threaded.lockStderr()
5
│ │ Threaded.initLockedStderr()
6
Io.LockedStderr.clear()
7
├── Io.Writer.print()
8
│ ├── Io.Writer.writeAll()
9
│ │ Io.Writer.write()
10
Io.Writer.printValue()
11
Io.Writer.writeAll()
12
std.debug.unlockStderr()
13
├── Io.unlockStderr()
14
Threaded.unlockStderr()
15
├── Io.Writer.flush()
10 collapsed lines
16
Writer.defaultFlush()
17
File.Writer.drain()
18
File.Writer.drainStreaming()
19
File.writeStreaming()
20
Io.operate()
21
Threaded.operate()
22
Threaded.fileWriteStreaming()
23
posix.system.writev() # 这里调用 macos 平台函数
24
while (...) {...}
25
mutexUnlock()

普通树形调用:

1
树形调用图,即每行一个函数或一个重要循环,不重要可省略. 多行小步骤可合并为中文简述. 每行简述功能.
2
标明步骤所在文件的相对路径。如果和父函数同属一个文件,省略。进入新文件则标注文件名. 跨进程(如通过 websocket)也需要说明跨进程. e.g.
3
f() | 📂 1.py (简述功能)
4
├── f1() (简述功能)
5
├── Type.method()
6
│ ├── while(...)
7
│ │ └── self.g() | 📂 2.py
8
│ └── ...
9
│ └── ...
10
└── ...
1
std.debug.print()
2
├── std.debug.lockStderr()
3
│ ├── Io.lockStderr()
4
│ │ ├── Threaded.lockStderr()
5
│ │ └── Threaded.initLockedStderr()
6
│ └── Io.LockedStderr.clear()
7
├── Io.Writer.print()
8
│ ├── Io.Writer.writeAll()
9
│ │ └── Io.Writer.write()
10
│ └── Io.Writer.printValue()
11
│ └── Io.Writer.writeAll()
12
└── std.debug.unlockStderr()
13
├── Io.unlockStderr()
14
└── Threaded.unlockStderr()
15
├── Io.Writer.flush()
9 collapsed lines
16
│ └── Writer.defaultFlush()
17
│ └── File.Writer.drain()
18
│ └── File.Writer.drainStreaming()
19
│ └── File.writeStreaming()
20
│ └── Io.operate()
21
│ └── Threaded.operate()
22
│ └── Threaded.fileWriteStreaming()
23
│ └── posix.system.writev() # 这里调用 macos 平台函数
24
└── mutexUnlock()
Article title:尾调用同级的树形图
Article author:Julyfun
Release time:Jun 23, 2026
Copyright 2026
Sitemap