如何解决复杂问题
如何面对一个复杂的需求。
- 从需求中抽离业务实体,业务参数。
- 得到运行逻辑。
- 分解复杂逻辑,将复杂逻辑转换为多个简单逻辑的组合。
上述说的太过于抽象,我以一个小学生解决复杂乘法运算的例子来进行一个类比
小明二舅舅的三姑妈家里开的小卖部,今天卖出了102件棒棒糖,棒棒糖成本0.45,售价1块。计算盈亏
- 从需求中抽离业务实体,业务参数
- 小明的亲戚开小卖部都是废话(等同于需求说的一大段废话)
- 业务实体:小卖部、棒棒糖
- 业务参数 棒棒糖102个 成本0.45 售价1块
- 得到运行逻辑
- 售价数量 - 售价成本=盈亏
- 分解复杂逻辑
- 1 * 102 - 0.45 * 102 = 盈亏
- 现在利用乘法结合律简化计算公式 (1-0.45) * 102 = 盈亏
- (1-0.45) * 102 又不好直接计算那么在利用乘法分配律 (1-0.45) * (100 + 2) = (1-0.45) * 100 + (1-0.45) * 2 = 55 + 1.1 = 56.5
分解复杂逻辑的过程像不像软件工程中的解耦,每个计算公式像不像一个个原子性函数?