2007年2月3日土曜日

リファクタリングとは・・・・

リファクタリングについて、考えさせられることが多い。
日本のソフト開発の現場(特にjava系)では、
大きな誤解が蔓延しているように思えるので、ちょっと覚書。

・勘違いの例

例1)リファクタリングとは、最初は荒くコード(動かないコード)を書き、それを動くようにする事。
例2)リファクタリングとは、コードの体裁を整えて、長いメソッド等は、長いままで綺麗に整形する事である。
例3)リファクタリングとは、デバックの事である。
例4)リファクタリングとは、Switchを追加して機能を追加することだ。
例5)リファクタリングとは、データクラスを使わないようにする事だ。



これ以外もいろいろあるが、
上記ような典型的な勘違いが多いようだ。
リファクタリングは、
バグフィックス/設計変更等でコードが冗長になったり
汚くなった場合や、再利用性の低いコードになってしまった
場合には、必ず行わなければならないと思われる。

例1)例2)例4)例5)に関しては、リファクタリングとは
全く反対の方向性のものである。
そもそも、データクラスを使わず、又、ポリモフィズム(が利用できるのに)を使用せず、
分岐ロジックをいちいち変更するようなコードは存在自体がバグである。

上記の例に心当たりがある場合は、
「リファクタリング プログラミングの体質改善テクニック」等の書籍を読むべきです。
又、以下のITMediaエンタープラズの記事も読むべきだと思われ・・・・

キミのコードが汚い理由(ITmedia)

リファクタリングに関わらず、
コードが汚い(冗長で幼稚なコード)のは、困りものです(^^;
他人様の汚いコードほど、読むのが苦痛な事はありません
対してエレガントなコードを見た時は、至福の境地ですね(^^)

0 件のコメント: