| 例如,我必须创建可以返回向量长度的Vector类。 首先我添加测试:
@Test
public void shouldReturnLengthOfVector() {
    Vector3D vector = new Vector3D(4d, 2d, -4d);

    assertThat(vector.length(), is(6d));
}
在编写测试时,创建类Vector3D并添加方法存根。
public double length() {
    // TODO Auto-generated method stub
    return 0;
}
测试不及格。通过测试的简单事物是什么?硬编码值:
public double length() {
    return 6d;
}
测试通过。现在,我添加了一些检查“ cornercase”的方法:
@Test
public void someCornercaseShouldReturnLengthOfVector() {
    Vector3D vector = new Vector3D(1d, -2d, -2d);

    assertThat(vector.length(), is(3d));
}
当然没有通过。我更改实现:
public double length() {
    return Math.sqrt(i * i + j * j + k * k);
}
一切都是绿色的! 当我遵循“可能可行的最简单方法”原则时,如何为方法选择名称?在此示例方法
someCornercaseShouldReturnLengthOfVector
中,这不是好名字。