经历了项目需求不断改变,需要经常修改代码,又不知道在哪里隐藏着不为人知的bug的痛苦后。本菜狗总结得到的教训是:**设计需求方案一定尽量避免hardcode!!!**也就是尽量避免在代码里写死固定值。
例如,在创建订单时,需要在创建A\B\C订单类型时需要自动过滤掉a\b\c类物料。
hard code写法:
order type in ['A','B','C']
material type in ['a','b','c']
后续如果scope变化了,无论是订单类型变化,还是物料类型变化,都需要修改涉及到的代码重新上线。导致很多不必要的工作量,也有很多隐患。
因此,方案设计尽量将数据做成可配置的。也就是在数据库里新增一张配置表来存放order type和materai type两列,等到数据更新的时候,只需要去库里维护配置表即可。不需要再修改代码。