mrfangzheng

Hope and fear are useless. Be confident, and always be prepared for the worst.
  首页  :: 新随笔  :: 联系 :: 管理

Testability vs Readability code?

Posted on 2011-08-31 15:21  mrfangzheng  阅读(192)  评论(0编辑  收藏  举报

当代码Testability和Readability冲突时选择哪个?

选择Testability.

原因: Readability带有很大的主观性, 不同的读者从不同的视角看一段代码是不一样的. 而Testability则客观很多.

 

信息隐藏原则

写代码不是把所有东西都隐藏就是好代码. 比如:

CreditCard card = new CreditCard(10000);

card.Charge(5000);

这样的代码看似简单, 其实隐藏了很多依赖, 比如数据库等. 使用者根本不知道如何使用.

 

什么应该隐藏, 而什么不应该隐藏?

应该像药品说明书一样, 用法, 疗效, 副作用都应该很清楚.

应该隐藏的: 代码的逻辑 if...else..., for... 之类

要暴露的: 依赖, 输入, 输出, 异常