開発者が関数にとって重要ではない何かを返すことを選択したメソッドに時々出くわします。つまり、コードを見ると、どうやら同じように機能しているように見えvoid
、少し考えてから「なぜ?」これはおなじみですか?
時には、単にaを実行するのではなく、bool
またはのようなものを返す方が良い場合が多いことに同意します。しかし、全体像では、賛否両論についてはわかりません。int
void
状況によっては、an int
を返すことにより、呼び出し側はメソッドの影響を受ける行またはオブジェクトの量を知ることができます(たとえば、5つのレコードがMSSQLに保存されます)。「InsertSomething」のようなメソッドがブール値を返すtrue
場合、成功した場合、そうでない場合に返すように設計されたメソッドを持つことができますfalse
。発信者は、その情報に基づいて行動するかどうかを選択できます。
一方、
- メソッド呼び出しのあまり明確でない目的につながる可能性がありますか?悪いコーディングはしばしばメソッドの内容を再確認せざるを得ません。何かを返す場合、メソッドは返された結果で何かをしなければならない型であることを知らせます。
- もう1つの問題は、メソッドの実装が不明な場合、開発者は機能的に重要ではないものを返すことにしたのですか?もちろんコメントできます。
- メソッドの閉じ括弧で処理を終了できる場合、戻り値を処理する必要があります。
- ボンネットの下で何が起こりますか?
false
スローされたエラーのために、呼び出されたメソッドは取得されましたか?または、評価結果のためにfalseを返しましたか?
これについてのあなたの経験は何ですか?これにどのように対応しますか?
void
少なくとも返すことにより、開発者はメソッドの戻り値が重要でないことを知ることができます。値を計算するのではなく、アクションを実行します。