UnitTestingAbstractionLevel
2007-11-08 15:51:46
查看原文
单元测试可以让你验证你的函数的抽象或者封装的层次,譬如我写了一个函数:
foo(input, output),函数内部有一个buffer是1024,如果要测试覆盖所有代码,我的测试size一定要大于1024,光在测试里面构造出一个大于1024的input...
AssertionImplication
2007-11-04 10:17:25
查看原文
TDD一个东西很有启发,但是很突兀,不知道这个思想哪里来的:
如果你测试写Assert.IsEmpty(foo),那么你首先可一先让foo是null,而不是返回一个empty的东西。这个容易理解,但是却显得没有任何推理。其实IsEmpty逻辑上蕴含了I...
ArchitecturalBugs
2007-11-02 10:26:54
查看原文
最近做的两个项目,看到一些bug,其实都是架构上面的问题:
1,日期输入框没有对日期格式进行验证,分析:为什么要用一个一般输入框呢?就不能有一个日期输入控件吗?
2,数据库字段可以为空,但是代码的Domain层没有考虑那...
UnscalableSolutions
2007-10-26 16:09:53
查看原文
最近不断碰到UnscalableSolutions,不得不写一下,今天碰到一个:html问题,如果你要给一个页面加css 的link,那么你必须加到head中间,但如果你使用控件,譬如ascx,那么为了满足封装性,控件的css应该不需要被控件的使用者知...
TddIsFolding
2007-07-05 18:30:05
查看原文
你思考程序的解释执行你就会看到一个成形的程序是不断被进行递归解释而进行求值的,整个过程你可以说是一个展开的过程,譬如fib 10展开成fib 9跟fib 8的表现形式,如此一直展开下去,而你编程就是去编写那些展开的规则,而这就...
UnitTestingConfiguration
2007-06-23 13:00:22
查看原文
配置和编程的本质区别是什么?
为什么有的代码很难单元测试?
配置可以单元测试吗?
什么东西才需要单元测试?
什么是组件编程?
什么是Convention over configuration?它们两者有什么区别?
为什么Web Container是一个...
CodeBloating
2007-06-15 17:23:55
查看原文
做一个很短的私活,不需要考虑什么设计,尤其交付之后提的一些修改的建议,我发现所有修改都是倾向于就地修改,倾向于Quick Fix,你觉得把代码提取到其他地方是一个要动脑的活,最简单的就是让代码倾向于在当前的地方开始肿胀...
AbstractionVsConfusion
2007-06-15 10:33:25
查看原文
如果你要建立一个Swing的目录树,那么你不能直接用File因为File的toString是全部路径的,而你只是希望toString返回一个当前路径。那么最简单就是建立一个Node类:
Node>>
file: File
toS...
TheWhiteBoardMethod
2007-06-10 17:17:58
查看原文
当你学习一样全新的学问或者技术的时候,不是所有这里学问都有一个导论的,可能这不是一种学术,可能根本就没完全发展成体系,你只是能够看到一些支离破碎的东西:一些概念,一些方法,一些原则,一些dos & donts,一些案...
ContextBasedNaming
2007-05-29 11:10:01
查看原文
最近挑灯夜读了Kent Beck大侠的Smalltalk Best Practice Patterns Volumn 1: Coding,又重新开始注意命名了,在Intention Revealing Selector里面举了一个例子linerSearchFor -> searchFor -> includes,作者觉得后面的...