IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope:Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    

developerWorks 中国 > Java technology >

追求代码质量

developerWorks
2007 年 8 月 7 号 更新   RSS
追求代码质量

您还记得以前开发人员是如何追求代码质量的吗?在那时,有技巧地放置 main() 方法被视为灵活且适当的测试方法。经历了漫长的道路以后,现在自动测试已经成为高质量代码开发的基本保证。Java™ 开发人员现在拥有很多通过代码度量、静态分析等方法来度量代码质量的工具。我们甚至已经设法将重构分类成一系列便利的模式!

所有的这些新的工具使得确保代码质量比以前简单得多,不过您还需要知道如何使用它们。在这个系列中,Andrew Glover 将重点阐述有关保证代码质量的一些有时看上去有点神秘的东西。

更多专栏 >
选择您要浏览的专栏:
  系列部分

对 Ajax 应用程序进行单元测试
2007 年 8 月
您可能从编写 Ajax 应用程序中获得了极大乐趣,但是对它们执行单元测试却着实让人头痛。 在本文中,Andrew Glover 着手解决 Ajax 的弱点(其中之一),即应对异步 Web 应用程序执行单元测试的固有挑战。幸运的是,他发现在 Google Web Toolkit 的帮助下,解决这个特殊的代码质量问题要比预想的容易。

使用 TestNG-Abbot 实现自动化 GUI 测试
2007 年 4 月
TestNG-Abbot 是一种测试框架,它为 GUI 组件的测试带来了新的活力。本月,Andrew Glover 将带领您亲历使用 TestNG-Abbot 测试 GUI 过程中难度最大的部分,即理解用户场景的实现过程。一旦理解了它,您会发现将 GUI 组件隔离并使用框架所含的极其方便的 fixture 对象对其进行验证是多么地简单。

用 AOP 进行防御性编程
2007 年 2 月
虽然防御性编程有效地保证了方法输入的条件,但如果在一系列方法中使用它,不免过于重复。本月,Andrew Glover 将向您展示通过一种更为容易的方式,即使用 AOP、契约式设计和一个便捷的叫做 OVal 的库,来向代码中添加可重用的验证约束条件。

探究 XMLUnit
2007 年 1 月
Java 开发人员一般都很善于解决问题,所以由 Java 开发人员提出更容易的方法用以验证 XML 文档是很自然的事。本月,Andrew 将向您介绍 XMLUnit,一个能满足您所有的 XML 验证需求的 JUnit 扩展框架。

用 JUnitPerf 进行性能测试
2006 年 12 月
在应用程序的开发周期中,性能测试常被放到最后考虑,这并不是因为它不重要,而是因为存在这么多未知变量,很难有效地测试。在本月的 追求代码质量 系列中,Andrew Glover 使性能测试成为开发周期的一部分,并介绍了两种简单的实现方法。

通过测试分类实现敏捷构建
2006 年 11 月
人人都认可开发人员测试的重要性,但为什么运行测试还是需要花费太多时间?本月,Andrew Glover 揭示了三种用来确保端到端系统健壮性的测试类型,随后展示了如何按类型来自动排序及运行测试。即使是使用当今大型测试套件,这样做也能显著地减少构建时间。

可重复的系统测试
2006 年 11 月
在 Andrew Glover 的提高代码质量的这个续篇中,他介绍了 Cargo,这是一个以通用方式自动化容器管理的开源框架,有了这个框架,您可以随时编写符合逻辑的可重复的系统测试。

JUnit 4 与 TestNG 的对比
2006 年 9 月
JUnit 4 具有基于注释的新框架,它包含了 TestNG 一些最优异的特性。但这是否意味着 JUnit 4 已经淘汰了 TestNG?Andrew Glover 探讨了这两种框架各自的独特之处,并阐述了 TestNG 独有的三种高级测试特性。

测试 Struts 遗留的应用程序
2006 年 8 月
虽然 Struts 正在慢慢退出 Web 框架的历史舞台,但它的遗产仍然存在,存在的形式主要是需要测试和维护的应用程序。这个月,Andrew Glover 向您介绍如何使用 JUnit 的 StrutsTestCase、DbUnit 以及在这个系列中迄今为止学到的一些工具,把以质量为中心的方法用于 Struts 上的测试(可以这么说)。

驯服复杂的冗长代码
2006 年 7 月
冗长的代码常常是复杂性的标志,会导致代码难以测试和维护。本月将学习三种测试代码复杂性的重要方法,它们分别基于方法长度、类长度和内部类耦合。专家 Andrew Glover 将向您展示如何使用诸如 PMD 和 JavaNCSS 之类的工具,在您需要的时候获得更高的精度。

用代码度量进行重构
2006 年 6 月
在前一期中,学习了如何用代码度量客观地测量代码质量。这个月,Andrew Glover 将介绍如何使用相同的度量方法和提取方法模式进行有针对性的重构。

软件架构的代码质量
2006 年 5 月
大多数设计良好的软件架构都趋向于支持系统的可扩展性、可维护性和可靠性。遗憾的是,对质量问题的疏忽极可能使软件架构师的努力白费。本文中质量专家 Andrew Glover 解释了如何持续地监视并纠正会影响软件架构的长期生存能力的代码质量方面。

监视圈复杂度
2006 年 4 月
如果复杂度与缺陷紧密相关,那么监视代码库的复杂度值不是很有意义吗?Andrew Glover 将展示如何使用简单的代码度量工具和基于 Java 的工具来监视圈复杂度 (cyclomatic complexity)。

决心采用 FIT
2006 年 3 月
代码质量完美主义者 Andrew Glover 介绍了如何把 FIT 和 JUnit 两者最好的地方结合在一起,实现更好的团队工作和有效的端到端测试。

不要被覆盖报告所迷惑
2006 年 2 月
测试覆盖工具对单元测试具有重要的意义,但是经常被误用。这个月,Andrew Glover 将会深入地介绍覆盖报告中数字的真实含义。然后他会提出您可以尽早并经常地利用覆盖来确保代码质量的三个方法。



回页首


  专栏作者

Andrew GloverStelligent Incorporated 的总裁,这家公司用有效的开发人员测试策略和能够让团队在早期经常地监视代码质量的持续集成技术,帮助企业解决软件质量问题。他是 Java Testing Patterns (Wiley,2004 年 9 月)一书的合著者。

  Java 专题
Java 新手入门
Java 核心技术
Java EE 技术
Java GUI 开发
Java Web 技术
Java 多线程与并发编程
Java 安全
Java 设计模式与建模
Java 代码质量
Rational 和 Java 开发

更多 Java 精彩内容

  热点链接
Ajax 资源中心改版!
Java 即将被取代?
Java 热门教程 TOP 10!
轻松畅游 Eclipse 资源
dW 每月特别推荐
最新 IBM 软件试用版 DVD,免费征订!
订阅更多 dW RSS
  编辑推荐
Java 文章
Java 教程
Java 新手入门
Java 文档库
  特别推荐
Java 应用开发源动力
Jazz 资源中心
SOA 企业架构师免费工具包

 
    关于 IBM 隐私条约 联系 IBM 使用条款