捨てられない戻り値
サンプルを鵜呑みにしちゃいけないというのも含めて、ドキュメントと一緒に旅に出ようと書いた。
たとえば戻り値の存在がわからない例(C#)
bool 更新処理(string param)
{
.....
return false;
}
void xxx()
{
更新処理("fiename.ext");
}
さて、このコードのxxx関数だけみてほしい。これでこの処理が正しく動いているだろうか?
ぱっとみはもちろんわからない、戻り値があるかどうかすらもわからない。
次に更新処理がvoid 更新処理()だったとしよう、このメソッドに戻り値bool を追加したとして、これを受け取っていないコードはコンパイルエラーになるだろうか?
そう。ならない。
これに対する解決策は
void 更新処理(out bool 成功フラグ,string param)
このようなパラメータにするしかない。
もちろんこんなつくりを推奨するわけではないけれども、戻り値は二つの値を戻すこともできないし、読まずに捨てることもできてしまう
戻り値の限界はこんなところかもしれない。
#この文書を短絡的に受け取って、古臭い戻り値はint、エラー情報は別途取得して確認というスタイルに戻らないでね