次の不自然な例を考えてみましょう。
void HandleThat() { ... }
void HandleThis()
{
if (That) return HandleThat();
...
}
このコードは問題なく動作し、仕様が有効であると確信していますが、両方の関数がプロトタイプ化されているにもかかわらず、呼び出しが関数の結果を返すように見えるため、私は(おそらく私自身で)この珍しいスタイルを検討します無効になります。
通常、私は次のことを期待します。
if (That) {HandleThat(); return;}
これは、何が起こっているのかについて曖昧さを残さないと私は感じています。
SOコミュニティ、returning-voidコーディングスタイルが混乱しているのか、問題があるのかについて意見をいただけますか?それはイディオムの感触を持っています。これを使うべきですか、それとも避けるべきですか?
一般的に、私は明快さを追求し、2番目のスタイルを使用します。一方で、最初の形には、私をいくらか惹きつける清楚さがあります。