私はコントロールフローの質問があります。私の会社では、多くのbool
メソッドを作成し、エラーがあった場合はfalse
を返します。例:例外の対Cの "if"
public bool Foo(string path, string fileName, ref string error)
{
if (path == null)
{
error = "path is null";
return false;
}
path += fileName;
return true;
}
ご覧のとおり、醜いです。私はそういう例外でそれを使いたい:
public voidFoo(string path, string fileName, ref string error)
{
if (path == null)
{
throw new SomeException("Path is null.");
}
path += fileName;
return true;
}
しかし私たちはオーバーヘッドについて心配しています。我々がすべき?
何2番目の例で、醜い 'error'パラメータを削除することが本当に必要です。 –
皆さん、本当に同じことを言うほど多くの回答が本当に必要ですか? –
'path'が' void'を呼び出す前に 'null'でないことを保証すれば、オーバーヘッドがゼロになります。 – Lightman