SSブログ

a single exit(2) [プログラマー現役続行]

以前(約2年半前)、「a single exit」と題するブログを書いています。その頃は、長めメソッドで、メソッドの最後にしかリターンを書かずに、非常に可読性の悪いコードを書いている人がいたのでブログに書いたのだと思います。理由を聞くと、そうするものだと以前に指導されたからということで、自分では何も考えずに言われたことに従っていたのには、ちょっと驚いた記憶があります。

それ以来、様々なコードを見て、やはり、必ずメソッドの最後でしかリターンしないというのは、コードの簡潔性と可読性を低下させている場合がほとんどです。メソッドや関数の最後でしかreturn文を書いてはいけないと、プロジェクトの標準として何らかの方法で強制していたりすると、現場のエンジニアはコードの読みやすさには注意を払わなくなったりします。
nice!(1)  コメント(1)  トラックバック(0) 

nice! 1

コメント 1

haruomi

私も昔(入社当初)は個人的なスタイルとして、メソッドの最後にしか意図的に"return"を書かないというコーディング(C/C++)を行っていました。
※ プロジェクトによる強制や先輩からの指導とは関係ないです

エラー発生時の後処理でメソッド内で生成したオブジェクトの解放忘れを避けるため、メソッドの最後のほうでdeleteなどをまとめて書き、メソッドの最後でのみ"return"するスタイルでした。

柴田さんに、「処理が終わったら、そこでreturnすれば良い。(可読性が増すので)」と指摘を受けるまで…(汗)

確かに必要な箇所で必要な処理(後処理など)を行い、そこで"return"してしまえば、そのシーケンスパスに関して後の処理は読まなくても良いので可読性が増すと思いました。

また、後処理時の解放忘れに関しては、可能な限りauto変数を用いたりデストラクタパターンを用いたりすることで、メソッドのロジックが簡潔になり(余計なif文や後処理が減るので)、品質も向上できると思っています(解放忘れがなくなるので)。

それにしても、簡潔性/可読性の高いコードをたくさん読むことがスキルアップへの一番の近道ですね。

by haruomi (2010-05-07 13:47) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

トラックバック 0