假设老板要命了员工干活,那么老板只要命令任意一个经理就行。 至于“二义性”或者“多义性”的问题,后面会讨论到。 第3章“低级功能模块”的模板结构 3.1 模板基本结构
从上述中,模板的基本结构有以下的特征: 1) Start_Sig 和 Done_Sig是固定的。
2) 寄存器i用于控制次序步骤。
3) 最后两个i步骤用于产生完成信号。
4) i 等于 0 的时候,多半都是用于初始化动作(选择性)。 正如准则的要求,“开始信号”和“完成信号”都是必须的。“开始信号”可以视为“片选信号”而“完成信号”如字面上的意思。寄存器i有一个重要的功能,它指向任何下一个步骤,而通常所编写的格式如下:
除此之外该模板还引入了 “task - endtask”。目的是为了提升和 “结构性” 。新手们应该知道,使用V语言如果没有良好的编程风格,代码的 “可读性” 是非常的糟糕。 在这里我先简单复习一下,“task - endtask” 的用法 :
上面的两个写法都是等价的。如果模块是小功能,那么左边的写法很适合。但是一旦模块的功能很复杂,那么右边的写**凸显出优势。 3.2 建议 为什么需要模板结构? 创建代码的工作往往都是一次性,为了供人参考,或者为日后“升级”的打算。我们不得不养成好的“编程风格”,这也是许多参考书上提出的重点之一。而“模板”便是一种已经制定好的“编程风格”,故这样会简化了编程风格上的问题,只要加以修改,便会完整一个有“结构”和“有风格”的代码。 为什么“低级功能模块”的步骤,需要一个计数寄存器来指向呢? 其实这个问题我也考虑了很久,因为是“仿顺序操作”的关系,故人类对“1, 2, 3 ... ”类似的次序(步骤)有更直接的效果。而且也很好的为代码扩展。 编写“低级功能模块”时,必须遵守笔者提议的模板结构吗? 模板的结构只是一个参考而已。该“模板”结论是我经过不同风格的编程,得出“最通用”的结果。当然你可以无视我的规定,完全自定义自己的模板结构。但是有一点请注意,必须以“解读性”为优先考虑。因为好的代码不是在“执行效率”上,而是“可维护”和“被解读”。 第4章 续流水灯实验——“低级建模”实例 |