2
「クリーンコード」について言えば、きれいに書かれた関数はというものが1つしかありません。です。入力をきれいに検証する
ユーザ入力を処理する場合は、の入力を有効にするためにの一部としてカウントされますか?いずれにせよ、私は推論を支える聞きたい
if (argIsValid(arg1)) {
foo(arg1);
}
:たとえば、
/* Arg1 is passed directly from user input */
int foo(int arg1) {
if (!arg1 || arg1 < 500) {
return -1;
}
/* Do foo */
}
は、それが関数内でこれらの検証テストを書くこと、またはそれらはのように、何らかの形で分離する必要があり最高ですあなたの答えを。ありがとう!
foo()の内部で検証関数を呼び出す方が適切でしょうか、foo()が引数を渡す前に呼び出されるべきですか? – frog
両方ともOKです。あなたの質問では、後者に従います。しかし、**私は 'foo()'の中でそれを呼び出すでしょう。もし検証が失敗すれば、 'foo()'も失敗して、エラーコードを返して、呼び出し元(main() ) 'foo()'がうまく終了しないことを知っています。しかし、私は最初からそれを持っていました! – gsamaras