10 2024 档案
摘要:大家好,我是木宛哥,今天和大家分享下——代码 CR 时针对恼人的空指针异常(NullPointerException)如何做到体系化去防控; 什么是空指针异常 从内存角度看,对象的实例化需要在堆内存中分配空间。如果一个对象没有被创建,那也就没有分配内存,当应用程序访问空对象时,实际上是访问一个“无效
阅读全文
摘要:使用枚举替换布尔值主要基于以下几个原因 ● 可读性 ● 可拓展性 ● 安全防控 可读性 我们会定义 boolean 类型(true 或 false)作为方法参数,虽然比较简洁,但有时候参数的含义往往不够清晰,造成阅读上的障碍, 比如:参数可能表示“是否开启某个功能”,但仅凭 true 和 false
阅读全文
摘要:为什么需要“依赖注入” Case 1 public class Foo { private Bar bar; public Foo() { bar = new Bar(); } public void doSomething(int key) { String result = bar.getRes
阅读全文
摘要:书接上回为什么需要依赖注入再做下扩展 上文谈到:“基于抽象接口编程确实是最佳实践:把易于变动的功能点通过定义抽象接口的形式暴露出来,不同的实现做到隔离和扩展,这体现了开闭原则” public class Foo { private Bar bar ; @Inject public Foo(Bar b
阅读全文