代码改变世界

ASP.NET MVC单元测试最佳实践

2009-02-23 09:07  Jeffrey Zhao  阅读(24188)  评论(53编辑  收藏  举报

这是我在上周“.NET技术大会”上的主题Session。

作为一个技术,例如语言或框架,为了确保有能力应付各种情况,以及天生的限制能力不足(例如弱类型语言无法限制数据类型),必然可以“组合”成无穷无尽的使用方法。而最佳实践,便是所有用法的子集——而且很有可能是非常小的子集。通过最佳实践,我们的程序一般可以得到更好的质量(高性能,可扩展性,可维护性等等)。在我看来,只有遵守最佳实践,我们才能充分发挥语言或框架的最佳功效。而最佳实践由于是一种限制,也就将用法的“最大边界”给清晰化了,这使外界能够契合这个边界进行扩展,简化了开发辅助功能的难度。

我对于微软的一个特点时常呈一种否定态度,那就是因为它往往为了“显摆”自己的技术而向外界展现出一种“飘渺的美好”愿景。例如WebForm推出时铺天盖地的“拖拽”风潮,看似精彩却迷人双眼。对于能够“出钱”的合作伙伴来说,微软会给出一定指导。而对于社区来说呢?可能就只有一堆一堆的“How-to”和“Quickstart”……有时候我甚至会想,微软的“精英”们真想清楚过他们的东西该怎么“用好”吗(例如大家可以看到园子里,咳咳,某些微软技术支持中心员工给出的解决方案,咳咳……)?因此在《Essential WPF》一书的“序”中出现了“Microsoft Continuing Employment Act(微软编外就业行动)”,就是形容对微软的技术提供使用指引,并以此谋作为职业的人。

可能是微软故意的吧,呵呵,我想。

先提供这次Session内容的PPT和演示吧,在接下来的一段时间内,我会陆续分析这次课程的内容。希望大家能够尽可能地把东西给“用好”,而不仅仅是得到表面上的正确结果。



关于“最佳实践”,我推荐一篇文章“更好的最佳实践