写下代码的目的

今天写代码遇到一个问题

一个代码功能是要求找出A会员的上级。原始需求是要求一个会员只能有一个上级,也是我和产品敲定的一个原则。但后来需求增加,要实现自己可以是自己的上级的功能。那么就矛盾了,数据上会出现一个人有两个上级的问题。

这样会导致数据查询问题。因为要查一个人的上级是哪个人时,会出现无棱两可的情况(可能是会员B,也可能是我自己)

为了这个问题我大周末找到产品经理要求改需求或者需求妥协,我为了这个问题有点烦恼,因为查询的无棱两可会导致线上数据出现错乱,引来通宵修bug的可能。

但后来我自己想想,发现这个问题还是可以代码上解决的。就是在查询上级时,排除上级是自己的记录即可。这个方法比较好的解决冲突,不会查出无棱两可的记录,也能保持自己可以是自己的上级的这个需求。结果是,基本只动了一行代码即解决。

编程的一个经验是,不要把自己的思维设定死:

一,可以抛开已有思路,拿张纸写一下要解决的问题(仅仅写问题):

  1. 要求满足一个会员有两个上级的可能
  2. 要求查出一个上级是谁
  3. 这个上级可能是自己,可能是他人

二,不去想这个问题不可能解决,要去想是可以解决的,只是没想到

三,清空已有思路,不设定死思路

四:从问题出发,重新想出问题解决办法

通过这4个步骤,可以想出本来想不到的解决办法

如此一来我就不需要改需求,能满足产品和自己了。

下一篇:加班开始了
  • 上一篇:周日晚八点终于开始过周末

    空空如也,你来第一个评论吧~