20/11/30 21:11:29.21 a85534SW0.net
少し調べてみたけどMISRAがsingle returnを推奨する根拠に上げてるIEC 61508には
”subprograms should have a single entry and a single exit only;”と書かれているだけ
そこに参考文献としてヨードン/コンスタンティンの「ソフトウェアの構造化設計法」を上げてるが
ヨードンやダイクストラが提唱したsingle exitは時代的にも意味が違うのでルール自体の根拠が薄い
URLリンク(softwareengineering.stackexchange.com)
1993年出版のCode Completeでも今回のようなケースはmultiple returnが推奨されてるくらいなので
single returnはリソースクリーンアップが必要だけど
他の方法がどうしても取れないような特殊なケースでしか意味がないと思って良さそう