程序结构图,简单说就是展示程序内部模块和它们之间关系的图。基本形式如下:
1. 矩形框:代表程序中的模块或功能单元。 2. 箭头:表示模块间的调用关系,箭头指向被调用的模块。 3. 菱形框:表示判断或决策点,通常在条件语句中使用。 4. 椭圆框:表示控制流程的开始和结束。
举个例子,一个简单的程序结构图可能长这样:
[开始] --> [模块A] --> [模块B] --> [模块C] --> [结束] | v [判断条件] | v [是] --> [模块D] --> [结束] | v [否] --> [模块E] --> [结束]
这个图表示一个程序从开始到结束的流程,中间经过模块A、B、C,然后根据判断条件选择模块D或模块E继续执行。
矩形框表示模块,箭头表示模块间的调用关系。
程序结构图的基本形式就是用图形化的方式展示程序中各个模块之间的关系。其实很简单,它通常包含以下几个关键点:
先说最重要的,程序结构图的核心是模块化。比如,去年我们跑的那个项目,大概3000量级,结构图上每个模块都清晰地标示了它的功能,就像一个乐队的每个成员负责的乐器一样。
另外一点,结构图中的模块之间通过连接线来表示它们之间的依赖关系。比如,一个模块可能调用另一个模块的函数,这时连接线就会从调用者指向被调用者。
还有个细节挺关键的,那就是结构图的层次性。它通常从顶层开始,展示整个程序的概览,然后逐渐细化到每个模块的内部结构。我一开始也以为只要画出模块和连接线就足够了,后来发现不对,还得注意模块的层次和模块间的通信方式。
等等,还有个事,结构图中的模块可以包含子模块,这就形成了一个树状结构,有助于理解程序的复杂度。
最后提醒一个容易踩的坑,就是不要把结构图做得过于复杂。虽然详细的结构图能展示更多细节,但过于复杂会让人难以阅读和理解。我觉得值得试试的是,在必要时使用结构图,而不是每个细节都画出来。