20210404-20210409技术周报

2021-04-10  本文已影响0人  别拿爱情当饭吃

哈喽哈喽大家猴,我是把代码写成bug的大头菜。公众号:大头菜技术(bigheadit)。原创不易,但欢迎转载。

最近这个星期。主要两件事儿:

工作遇到的bug和总结

最近这两周,因为做了4个需求,都是关于黑白名单的。

于是我就打算,把这些黑白名单的需求,比如有关于C端用户的白名单,C端用户的黑名单,B端用户的白名单,B端用户的黑名单,我打算直接抽象一点,把4个需求抽象整合为一个需求。每个黑白名单需求:都有增加黑白名单,删除黑白名单,查询黑白名单三种不同的接口。

因为之前,已经有C端用户的白名单了。但是对应的表的设计没有考虑好拓展性,没法兼容C端用户的黑名单等需求。因此需要重新设计表。

新表的设计关键字段:

重新设计后,表的可拓展性大大提高。但业务的复杂度和开发复杂度也大大提高。鱼和熊掌不可兼得嘛。正常!

其实,把4个需求,抽象合并为一个需求,是降低了开发成本的,也对业务做了比较好的抽象,可以为以后其他类似的需求,比如:新增一条业务线D的白名单。

这样子,其实就是,在枚举上增加多一个枚举。在接口入参上,改变一下参数值即可。核心代码,几乎不用变。

如果考虑某些需要定制化的黑白名单。我们采用策略工厂模式即可。这样子,代码的可读性大大提高,同时也满足开闭原则。

bug的潜在

因为涉及到表的重新设计,因此旧表的数据,也需要做同步迁移。数据迁移,这种写一下SQL语句就好。没什么特别的。

关键点:我忘了谁在使用旧表。

就是哪些接口调用了获取旧表的数据。当时,的确忘了这茬,也没做兼容。因此,bug就来了。

这次,也真算是,把代码写成bug了哈哈哈哈。

影响的范围:调用了访问旧表数据的接口。

对于这次bug的影响,我做了一些总结点

重新梳理JVM的基础知识

最近重新梳理了一下JVM的基础知识。相关笔记如下:

上一篇 下一篇

猜你喜欢

热点阅读