TDD笔记4 保住隐私

	public void testMultiplication()
	{
		Dollar five = new Dollar(5);
		Dollar product = five.times(2);
		assertEquals(10, product.amount);
		
		product = five.times(3);
		assertEquals(15, product.amount);
	}

 前一章的测试代码虽然实现了功能,但是amount变量暴露给了外部。TestCase相当于工作类的一个用户,应该尽量让用户对内部实现不可见,即使是测试用例也如此。如果我去买东西,知道了它的进货价,恐怕它也不可能卖太高的价格。如果我是一个店的员工,知道了东西的进货价,从哪儿进的,利润又高,恐怕我也会去开这么一个店

 

把代码稍微修改一下,就截然不同了。我可不想让别人知道我的隐私。

        public void testMultiplication()
	{
		Dollar five = new Dollar(5);
		Dollar product = five.times(2);
		assertEquals(new Dollar(10), product);
		
		product = five.times(3);
		assertEquals(new Dollar(15), product);
	}

 

上面代码中的product临时变量看起来好像没有什么用,为什么不给它去掉呢!

	public void testMultiplication()
	{
		Dollar five = new Dollar(5);
		assertEquals(new Dollar(10), five.times(2));
		assertEquals(new Dollar(15), five.times(3));
	}

 

嗯,这回不错了,代码看起来简洁多了。Commit。

你可能感兴趣的:(工作,TDD)