《架构整洁之道》摘录 – 4
第 4 章 – 结构化编程
软件开发虽然看起来是在操作很多数学结构,其实不是一个数学研究过程。恰恰相反,软件开发更像是一门科学研究学科,我们通过无法证伪来证明软件的正确性。
结构化编程范式促使我们先将一段程序递归降解为一系列可证明(可以被证伪,但是无法被证实)的小函数,然后再编写相关的测试来视图证明这些函数是错误的。如果这些测试无法证伪这些函数,那么我们就可以认为这些函数是足够正确的,进而推导整个程序是正确的。
结构化编程范式中最有价值的地方就是,它赋予了我们创造可证伪程序单元的能力。在架构设计领域,功能性降解拆分仍然是最佳实践之一。
软件架构师需要定义定义方便地进行证伪(测试)的模块、组件以及服务。为了达到这个目的,他们需要将类似结构化编程的限制方法用在更高的层面上。