参画しているプロジェクト(アジャイル開発)にて、リファクタリング期間に入りました。
ちなみに、アジャイル開発とは言ってますが感覚としては設計書が無いウォーターフォール型みたいなもんです。
本来ならば実装の度にちょこちょこリファクタリングしていくもんだと思いますが、上記の理由で『リファクタリング期間』が存在するわけです。
さて、そのリファクタリング。どんなことをすればいいのでしょうか?
基本のキ
リファクタリングの目的の最たるモノが「ステップ数を減らす」コト。
基本的に、同じ動作をするプログラムならステップ数が少ない方がより良いプログラムです。
コードの可読性もよく、テストの網羅も楽になります。
ただし、ステップ数が少ないからと言って処理速度が速くなるかと言うとそうでもないんです。
オリジナルで書けば20行、ライブラリ使えば5行、だけどライブラリの中身は200行、そんなケースもあるでしょう。
具体的には
それでは、ステップ数を減らすために具体的にどんなことをやるべきでしょうか?
処理を共通化する
まずは同じ処理を複数個所に書くのではなく、1カ所にまとめてしまうコト。
これは簡単ですね。
次に、似たような処理を1カ所にまとめられないか検討するコト。
これは少し頭を使う必要があります。
具体例としては…、引数でフォーマットを指定できる変換系の処理とかですかね。
ライブラリ・フレームワーク・パッケージを導入する
言語によって名前が違う、なんと面倒な事か…。そんな愚痴はさておいて。
複雑な処理をオリジナルでガリガリ書いてみたものの、実はその機能を提供するライブラリなどがありました。
な~んてコトもあるでしょう。
ただし、対象となるライブラリなどの信頼性はちゃんと判断するようにしましょう。
実はテストしっかりされていないモノだった、なんてわかった時には品質保証が危うくなります。
ステップ数を減らしたその後に
修正前と修正後で比べてステップ数が少なくなっていたからといって、リファクタリングの最低限はまだクリアしていません。
次に重要なのが、修正範囲を減らすコト。
具体例としてはハードコーディングを定数化するなどが挙げられます。
そこまでして、リファクタリングの最低限をクリアしたと言えるでしょう。
最後に
本記事ではリファクタリングの最低ラインに対する私の考えを紹介しました。
「いやいや、これもやらなきゃダメでしょ」なんてモノがあればコメントでお知らせください。
以上です。
スポンサーリンク