一、背景问题
接到新增业务时,一些程序员总是想着往表里简单的增加字段,能实现功能就可以了,然而却没考虑到系统健壮性。如果你有这个习惯,那就来看看下面的例子吧,我将描述一个产品业务的增量迭代过程,你会看到开发先于设计带来的麻烦。
二、业务描述和前提
业务 | 描述 |
---|---|
推荐功能v1.1 | 用户注册时填写推荐人的推荐码,后台cms可以进行统计某个客户经理,用户的推荐量,项目投资的推荐量 |
已建表(只列出业务涉及的字段,其他字段省略):
三、错误的示范
先来看看懒猿的做法:
呵呵,简单,用户表加个推荐码RefererCode,订单表也加上,后台就可以统计了。
结果,后端的确可以根据推荐码去统计对应推荐人的推荐结果。
若再新增业务:
业务 | 描述 |
---|---|
推荐功能v1.2 | 统计所有客户经理,所有用户推荐的数据。 |
此时想做统计,不知道推荐人是客户还是经理,啊脸长了没对客户和经理做区分,好吧,对用户表和订单表再分别新增字段RefererType。嗯,