Hasty Briefsbeta

双语

How to write complex software

a day ago
  • 首先编写玩具驱动程序,以发现解空间的物理约束
  • 从栈顶(UI或API)开始实现,并向下推进
  • 按层实现软件,每层剥离最小逻辑,并将复杂性向下委托
  • 编写某一层时,将下一层的API定义为当前层最理想的领域特定语言
  • 在编写当前层时,先存根下层接口,然后递归地实际实现它
  • 仅对IO部分使用可模拟的抽象接口;其余部分应为具体实现
  • 该方法能尽早获得部分可运行的软件,并自然地在工程师之间进行委托
  • 如果某层的API无法实现,则回溯并重新设计上一层的API