普通树形调用:
1调用树,即每行一个函数或一个重要循环,不重要可省略. 多行小步骤可合并为中文简述. 每行简述功能,最后带所在行号.2如该节点进入新文件则在步骤前写明`文件路径::本步骤`. 跨进程(如通过 websocket)也在前面写明跨进程. 单节点如因长度换行则需空4格作为缩进,单节点内不要滥用换行.3例如:4
5📂 1.py::f() 简述函数功能 :1756├── f1() 简述功能 ...7│ 多行简述则空4格缩进 :11808├── f2()9│ ├── while ...10│ │ └── some.g() 简述功能 :122511│ │ └── 📂 2.py self.action = action :1012│ └── for 遍历 xxx13│ └── 多行小步骤可合并为中文简述14└── ...15
1 collapsed line
16代码块用主要语言包裹,如 ``python1std.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()1展示函数调用链. 使用尾调用同级的树形图,即每行一个函数或一个重要循环,不重要可省略,并且一个函数的子函数中的最后一个与父函数必须处于同一缩进,其他缩进 + 1 e.g.2f()3├── f 的第一个子函数4│ 如果 f 只有一个要展示的子函数就这样画5├── ...6f 的最后一个子函数 g()7├── g 的第一个子函数8g 的最后一个子函数1std.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()12std.debug.unlockStderr()13├── Io.unlockStderr()14Threaded.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 (...) {...}25mutexUnlock()