1

私には特別な要件があります。次の2つの方法があります。

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");
    }
}

ご覧のとおり、 と の 2 つのメソッドがdoSomething()ありvalidateDoSomething()ます。後者の方法は、前者の方法に対する検証として機能します。ここでのアイデアはvalidateDoSomething()、単体テストやその他の検証駆動型フレームワークで使用することです。

このアプローチで私たちが抱えている問題は、新しいコード行がdoSomething()メソッドに追加されたときです。たとえば、同等のメソッドも確実に更新されるmessage[2] = "2"ようにするにはどうすればよいでしょうか? validateDoSomething()さらに、追加する代わりに何かが変更された場合、これも反映message[0] = '23'されていることを確認するにはどうすればよいですか?validateDoSomething()

これは、プロセス アプローチを使用して解決できます。ドキュメントを作成し、開発者が更新する場合はdoSomething、同等の検証メソッドも更新するようにします。しかし、この問題に対する技術的な解決策はありますか? 開発者が検証メソッドも更新することを強制するために利用できるツールはありますか?

4

1 に答える 1

1

これが、コードレビューが重要な理由です。プロジェクトでこのような標準を設定した場合、タスクを完了したと見なす前に、コードをピアにレビューしてもらい、このようなことをチェックしてもらう必要があります。

忘れやすいものがある場合は、2 人の開発者がそれを忘れなければならないというポリシーを実装します。

于 2013-06-28T16:45:06.237 に答える