模块化Java:声明式模块化
本文是模块化Java系列文章的第4篇,介绍的是声明式模块化。文中描述了组件如何以声明的方式来定义并组织在一起,而无需让代码依赖于OSGI API。
作者 王翔(Vision Wang) 发布于 2007年10月10日 下午9时6分
随着NUnit和Visual Studio.NET 2005的推出,对.NET代码作单元测试似乎越来越容易了,而且更加自动化。但您是否考虑过这些单元测试是否真正“有效”呢?还是仅仅自我安慰的“额外工作量”呢?NCover起码可以帮忙做做检查。以前NCover是个开源的框架,最近它已经被商品化了。
Gnoso把NCover升级成为2.0版,并把它商品化了。虽然,之前通过开源方式可以获得NCover,但可能因为它定位的领域太吸引人了,以至于它的升级速度和集成性方面反倒总是差强人意。NCover是一个用来检查.NET单元测试代码与实际代码覆盖分析的工具,它在执行单元测试的过程中对执行情况进行监测,然后会记录下单元测试都调用过哪些代码,不过最重要的是它记录下哪些代码实际没有被单元测试掉用到。你也许觉得“我严格按照Write a little,Test a little”的步骤在编写单元测试,就是漏掉也很显眼,因为我写了[todo]了,但事实情况并非如此:
虽然不一定特别权威,但NCover起码从覆盖角度告诉我们“你的单元测试做的是否够好”。很多人更喜欢它是因为他无须象其他类似工具在代码上增加“痕迹”,它可以直接在生产代码上进行检查,而且可以对Web Service和.NET Windows Service这些后台服务类代码进行检查。此次2.0产品化版本中,主要对产品得易用性作了较大改善,以前游离在外面的NCoverExplorer被集成到NConver里面,这样检查报告看起来更加人性化,而且还支持同时看多个项目(Project),毕竟.NET项目开发一般都是Solution层次的,一遍遍打开每个项目的报告确实惹人烦。企业版中还有一个特别有用的特性,就是可以把执行路径画出来,并记录下每个步骤的执行时间,相信您以前总碰到过类似的困扰——“到底怎么了,为什么跑得这么慢啊?”。NCover可以用图形化的方式展现这个执行过程。生产代码检查+Assembly检查+可视化执行路径,相信NCover会成为性能调整和代码优化的得力工具。
商品化之后,试用NCover感觉比以前舒服多了(不过要收100$+的使用许可了)。相信对于开发团队,尤其是“代码就是设计”的敏捷团队而言,NCover也可以作为一个不错的把关工具。
本采访是在伦敦举行的QCon2009上记录的,Ian Robinson和Jim Webber探讨了如何将Web作为整合平台以及REST在理论上和实践中的好处。
项目管理对于项目成败至关重要,但实践中每个项目都有自己的独特性,没有现成的解决方案可以套用。书中从应对实际风险的角度出发,讲述了从项目启动、项目规划到项目结束的整个管理流程,展示了作者的思考过程。本迷你书从原书中精选出5个章节。
在这个演讲中,Fred将会揭示敏捷的一些外在因素,并会重点关注敏捷获得成功的内在原因。从案例研究和真实的项目经验来看,Fred认为:工具、管理体系都不能让你变得敏捷。敏捷的成功,植根于士气高涨、充分授权的工作者身上,他们能够以不同以往的方式思考问题。
Eben Hewitt的新书《Java SOA Cookbook》从Java实现的角度讨论了面向服务架构。Eben在书中讨论了SOA基础、工具、最佳实践和SOA治理等主题。
Mark Richards的新书《Java消息服务》第二版覆盖了JMS的许多主题, 包括发布和订阅模式以及点对点模式,消息过滤和事务等。InfoQ与Mark谈论了跟他的新作。
1 条回复
关注此讨论 回复