お隣さんのリファクタリング

最近お隣の研究室からプログラミング相談のためにうちの研究室までやってくる友人がいます。前回はシンプソン法による二重積分数値計算で、今回はリファクタリングの相談でした。どうやら研究室の先輩から「このソースは汚い」「gotoを使うな」と言われたそうなのですが、どうもその先輩に聞いてもどうしたらいいのかわからないらしいとのことです。


きれい汚いというのも所詮は経験にもとづく主観ですので、他人にむやみやたらと押し付けるべきではありません。特に、どうして汚いのかどう直したらいいのかを伝えられないならばなおさらです。しかし、多くの人が汚いと感じるようなソースは書くべきではありません。


それじゃ、多くの人が汚いと感じるようなソースって何?ということになるのですが、いろんなソースを書きなさい・眺めなさいというのが正論なのだと思います。結局は経験を積まないと自分のものにすることはできません。しかし、あらかじめ過去の経験にもとづく本があるならばそれを読んでからの方が近道でしょう。特に他人に教える立場に立つのならばそういったものを一読した方が明確な理由と修正方法を教えることができます。


なにはともあれ今書いているソースがきれいか汚いかということを意識してプログラミングを行うことは非常に大事です。僕はソースを納得した形に仕上げ、プログラムが納得した動きをした時がもっとも大きな歓びを感じる瞬間なのだと思います。


というわけで、ちょうど今読んでいるのがこれなのでした。

Java言語で学ぶリファクタリング入門

Java言語で学ぶリファクタリング入門


サンプルとしてあげられているソースをクイズだと思って読んでみるとなかなか面白いです。ソースの「不吉な匂い」は嗅ぎわけるだけでなく匂いのもとを断ち切れるようになりたいですね。