コードの臭い」そしてリファクタリング

「コードの臭い」があるプログラムのメンテナンスにリファクタリングは必須です。
私のように個人作業で進める開発はいい加減なプログラムが多いので、メンテナンスに苦労します。

以下「リファクタリング」(http://www.woodensoldier.info/computer/refactoring/)より

リファクタリングの基本方針
・コードをできるだけ小さな単位に分割する
・処理のかたまりに名前をつける
・処理を重複して記述しない
「 どんなプログラマーでもコンピュータに理解できるコードは書ける。しかし優秀なプログラマーだけが、人間に理解できるコードを書くことができる。
」~Martin Fowler~

リファクタリングのルール
・リファクタリングと機能改変を同時にはおこなわない。リファクタリングをしてから新しい機能を追加する。
・リファクタリングを始める前と後にはユニットテストを実行しコードの機能が変更ないかを確認する。
・パフォーマンスよりもメンテナンス性を重視する。
・こだわり過ぎてはいけない。
・小さなリファクタリングとテストの組み合わせを繰り返す。決して一度に大きなリファクタリングをしない。
「大きなリファクタリングは惨事のもとである。」~Kent Beck~

本家”マーチン・ファウラー”のリファクタリングカタログ
http://refactoring.com/catalog/
「リファクタリング―プログラムの体質改善テクニック(ピアソンエデュケーション)」を読んでもらうのが
一番なのですが、絶版かもしれません。

参考
「コードの臭い」
http://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E8%87%AD%E3%81%84
「不吉な匂い」
http://objectclub.jp/technicaldoc/refactoring/refact-smell