1

我有一个特殊的要求。我有以下两种方法:

public void doSomething(String[] message){

    message[0] = "1";
}

public void validateDoSomething(String[] message){
    if(!"1".equals(message[0])){
        System.out.println("message[0] must be 1");
    }
}

如您所见,我有两种方法doSomething()validateDoSomething(). 后一种方法作为对前一种方法的验证。这里的想法是用于validateDoSomething()单元测试和其他验证驱动的框架。

我们使用这种方法遇到的问题是,当向doSomething()方法添加新代码行时,message[2] = "2"我们如何确保其等效validateDoSomething()方法也被更新?此外,如果某些内容发生了更改而不是添加,message[0] = '23'如何确保validateDoSomething()也反映了这一点?

我们可以使用我们记录的过程方法来解决这个问题,并确保任何开发人员更新doSomething也更新其等效的验证方法。但是这个问题有技术解决方案吗?是否有任何工具可用于确保开发人员也被迫更新验证方法?

4

1 回答 1

1

这就是代码审查很重要的原因。如果您在项目中设置了这样的标准,您需要让同行审查代码以检查类似的事情,然后才能调用任务完成。

如果某件事很容易忘记,则实施让 2 个开发人员不得不忘记它的策略。

于 2013-06-28T16:45:06.237 回答