代码改变世界

代码坏味道 - 耦合

2016-03-05 00:12 by yoogo, 338 阅读, 0 推荐, 收藏, 编辑
摘要:耦合 Feature Envy 症状: 方法访问其他类的对象的属性,而不是自己的。 成因: 最常见的问题就是由数据类引起的。 治疗: 多数时候,同时需要做出改变的code 应该在一起。 收益: 不合适的亲密 症状: 一个类有大量的访问另一个类的属性和方法,类之间的联系千丝万缕。 成因: 治疗: 变双 阅读全文

代码坏味道 - 多余的代码

2016-03-04 16:52 by yoogo, 420 阅读, 0 推荐, 收藏, 编辑
摘要:注释 症状 注释太多 成因 因为代码违反直觉,所以需要注释说明。这也往往以为着代码的臭味。最好的注释是给类或方法起个好名字。 治疗 通过抽变量的方式给一个复杂的表达式命名; 通过抽方法的方式给一段代码命名; 收益 消除注释但是不降低代码的可读性正是重构追求的目标。 重复代码 症状 成因 无意的重复发 阅读全文

代码坏味道 - 改变的阻力

2016-03-04 14:59 by yoogo, 175 阅读, 0 推荐, 收藏, 编辑
摘要:需要同时修改多处 症状 当你对一个类做一点修改,你发现需要同时修改很过个看起来无关的方法。比如,添加一个产品,却影响到find ,delete,update 等多个方法 成因 程序结构不好或者复制粘贴构成的代码 治疗 抽类,抽父类,抽子类 收益 去重,提高组织性 短枪手术 症状 小的修改引起很多类的 阅读全文

代码坏味道 - OO 滥用

2016-03-04 13:31 by yoogo, 571 阅读, 0 推荐, 收藏, 编辑
摘要:OO 滥用 switch 语句 症状: 复杂的 switch 或 一系列的if 成因: switch/case 语句在 OO 的代码中一般少见,一旦出现往往会在多个地方重复。 据经验,遇见 switch/case , 往往意味着应该考虑多态了。 治疗: 条件与属性相关的:抽子类或使用策略/状态模式 阅读全文

代码坏味道-代码膨胀

2016-03-02 15:20 by yoogo, 747 阅读, 0 推荐, 收藏, 编辑
摘要:代码膨胀 长方法 症状 一个方法行数太多,一般超过十行你就值得怀疑。 成因: 一个方法,日积月累,只添代码从不清理-很说时候是因为认为没有必要再创建一个新的方法,最终形成意大利面条式的代码。 治疗: 如果需要在一个方法内部添加注释,你应该把要注释的代码放到一个新方法里,即使这个代码只有一行,然后给这 阅读全文

一种更好的方式设置maven pom 缺省激活的 profile

2016-01-27 16:52 by yoogo, 1687 阅读, 0 推荐, 收藏, 编辑
摘要:maven profiles, 缺省激活一个 profile 有两种方式: 方式1: 方式2: 方式1的问题是只要显示指定了其他的profile, 那缺省的这个就被停用了。 借助于方式2 , 我们可以同时设置多个缺省激活的 profile。 通过命令行显式指定其他 profile 时,方式2缺省的 阅读全文

JMockit 指南 翻译

2016-01-12 00:13 by yoogo, 2088 阅读, 0 推荐, 收藏, 编辑
摘要:原文 翻译并没有完全遵循原文,有个人的理解与提炼。 如果你觉得有什么地方生涩难懂,欢迎反馈。谢谢! 更新时间:2017-05-23 23:16:35 Mocked types and instances mocked 的类和实例 方法包括构造方法是 mock 的目标。Mocking 提供了把被测代码 阅读全文

使用 Mockito

2015-09-10 12:01 by yoogo, 618 阅读, 0 推荐, 收藏, 编辑
摘要:Mockito 的API 相当直观和简单。使用上可以分成四步: 生成假对象 Stub 假对象 把 假对象传给依赖它的 SUT(system under test) Assert 或 Verify 生成 假 对象: 假对象分成两种,一种是缺省所有方法都是空实现,返回值为null; 还有一种其所有方法缺 阅读全文