发散式变化与霰弹式修改
发散式变化和霰弹式修改是 Martin Fowler 在《重构》中收录的两种代码坏味道。看到这两个名字时,我并不理解它们描述的是什么样的代码。也许我已经遇到过这样的代码,只是没有把它们叫做这两个名字而已。
发散式变化和霰弹式修改是 Martin Fowler 在《重构》中收录的两种代码坏味道。看到这两个名字时,我并不理解它们描述的是什么样的代码。也许我已经遇到过这样的代码,只是没有把它们叫做这两个名字而已。
在 Java 自带的反射库中,我们只能根据具体的一个完整类名去加载一个类。如果我们想要在一个 package 中扫描所有的符合条件的类,就需要自己写代码实现。
但是作为一个调包侠,让我自己写代码看处理起来非常常见的需求是一件很难忍受的事情。今天就来看看有什么包是我们可以直接调的。
Json 的序列化和反序列化是我们常见的操作,很多库都提供了这样的能力帮助我们完成这样的操作。 但业务有时可能变得稍微有些复杂,需要将一个抽象类的子类实例序列化成一个 Json,也需要将一个 Json 反序列化成一个抽象类。而在反序列化的时候,就需要找到真正的子类。
过去我知道有圈复杂度这个概念,它代表了代码的复杂程度。但是却没有了解过它是怎么算出来的,哪些代码会影响它的结果。 今天我们就来看一下,圈复杂度这个概念。
Eureka 是 Spring Cloud Netflix 的服务注册与发现工具。一般情况下,它都能很好的工作,但有时却会出现一些匪夷所思的情况。 今天我们就来研究一下不当的配置导致的幽灵服务。