Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Java 质量保障

Java 质量保障

LI Daobing

August 04, 2011
Tweet

More Decks by LI Daobing

Other Decks in Programming

Transcript

  1. 测试名最好是一个句子  测试名最好是一个句子  好的名字 : runShouldRaiseFooExceptionWithNullArgumen t  一般的名字

    : testRun  糟糕的名字 : test2  最好的情况是看见一个测试类的全部方法名就知 道这个类能干什么,什么情况下会有什么行为
  2. 服务应当是一个对象而不是一个类  比如 A 服务依赖于 B 服务,如果 B 服务是一 个对象,那么可以构造出一个

    B 服务的 Mock 对象,注入到 A 服务,方便测试 A 服务  如果 B 服务是一个类,那么测试起来就会很麻 烦
  3. 按 package 划分 Factory  如果工程比较大,只用一个 Factory 类会显得 过于复杂,一般建议按 package

    来划分 Factory  同时一个 package 最好只有一个 Factory, Factory 具有配置的隐喻,而配置应该集中而不 是分散  比如 com.snda.llap.replicator.client.DatanodeChoos erClientFactory
  4. 在边界处检查异常  尽量在系统边界处检查异常,而在系统中间让异 常透明通过  比如 web 或者 socket 服务,只在相应前做一

    个通用异常检查,并返回信息给用户  当然在另外一个边界处也要做适当检查,避免所 依赖的其他服务出现异常时延迟发现。
  5. Summary  Java  静态,面向对象  安全,易用,对多线程支持较好  推崇单元测试,文档,代码检查。 

    推崇设计模式,重构,团队合作。  也是在企业应用领域使用最广泛的语言。  不是动态语言 (Python, Ruby, …)  对高并发支持不好 (Scala, ...)
  6. Q&A