CONTENT
こんにちは、東京エンジニアのS.Wです。
今回はアジャイル開発におけるリファクタリングについて話します。
■リファクタリング
リファクタリングとはソフトウェアの振る舞いを変えずに、内部の処理や構造を改善することを言います。具体的にはソースコードを読みやすくきれいな状態にすることで、アジャイルに限った技術ではないですが、アジャイルでは特に重要とされる要素になります。
■メリット
すでに動作しているソースコードをわざわざリファクタリングするのは、それを補うほどのメリットがあるからです。主な例としては以下です。
・ソースコードの可読性向上
冗長的なコードや無駄なコード、パッと見て分かりにくい変数・関数名などを改善することにより、可読性が向上し結果として保守性およびコード品質が保たれます。何をやっているか分かりにくいソースコードでは、機能追加や不具合改修する際に現状のコード設計を理解するのに時間がかかるうえ、さらなる不具合を生みやすいという非常に危険な状態と言えます。
・ユーザー提供までの時間短縮
ユーザー側の視点としてのメリットが、開発者が把握しやすいコードの方が結果として早くリリースされることになるのが最大のメリットです。
■リファクタリングを行うタイミング
「リファクタリングをいつやればいいのか」、について明確な決まりはありません。プロジェクトには優先して対応しなければならない様々な案件やタスクあり、リファクタリングを行うためだけのタスクや時間というは基本的にありません。そこで以下がリファクタリングの最適なタイミングと言えます。
・機能追加
・バグフィクス
・コードレビュー
これらの作業をする中で、気付いた点を少しずつリファクタリングしていくのがポイントです。
■まとめ
いかがでしたでしょうか。自分の書いたコードですら数か月たつと気づくことがたくさんあると思うので、積極的にリファクタリングをしてほしいと思います。
それがチームにとって、それから顧客にとっての大きなメリットを生み出します。また、安全にリファクタリングを実施するコツとしては、こまめにテストすることが重要になってきます。
そこで次回はリファクタリングにおいて重要になってくる「自動テスト」について、触れていきたいと思います。