オフィスブログ
業務の肥大化を抑えるための「リファクタリング」について
こんにちは!ディーキャリア岐阜駅前オフィスのワークスキルコース訓練生です。
ディーキャリアはITの教育にも力を入れていて、特にITエキスパートコースではITを専門に学ぶことができます。
そこで学んだ考え方の中で、特に大事だと思った「リファクタリング」という概念について今日は紹介させていただきたいです。
プログラマが仕事を効率化させるための方法ですが、IT以外の業種でも役に立つこと間違いなしです!

リファクタリングとは
リファクタリングとはIT業界の用語で、
「プログラムのソースコードを見直し、改善する作業」
のことです。
具体的に以下のような作業をおこないます。
- 複数個所に書かれている処理を一か所にまとめる
- 変数や定数、関数の名前を見直して分かりやすいものに変更する
- 複雑な処理の流れを整理して、シンプルな処理の流れにする
このようなリファクタリングをおこなうことによって、以下のようなメリットが得られます。
- 機能の変更・追加がやりやすくなる
- 他のチームメンバーがコードの構成を理解しやすくなる
- バグ・不具合が発生しにくくなる
実際に業務で作成するプログラムとなると数万、数十万行のコードになることもあり、複雑さは爆発的に増えて手に負えなくなってしまいます。
そのまま進めてしまうとどこに何が書いてあるのか分からなくなって、変更・修正するのにかかる時間がどんどん増えていきます。バグも頻発するようになります。
最終的にプロジェクトが頓挫したり、そうでなくても製品のクオリティが想定よりだいぶ低いものになってしまったりするかもしれません。
そうならないように、早い段階でこまめにリファクタリングを実施して、コードの構造を整理して、後々の開発・変更にかかる時間が肥大化しないように抑える必要があります。
技術的負債を意識する
このように、十分に整理されていなくて後で直さないといけないコードのことを「技術的負債」といいます。
リファクタリングするような時間は無いし後回しでいいか、とぐちゃぐちゃなコードのままで進めていると、日々の開発業務で余計に時間がかかるようになってしまいます。
返済を後回しにすると利息を余計に払わないといけない借金に例えているわけですね。
このような技術的負債は絶対的に悪、というわけではありません。
できるだけ分かりやすいシンプルなコードを書こうとしてもきりがないですし、整理のために割ける時間も有限です。
特にベンチャー企業だと、できるだけ早く製品をリリースする必要に迫られてとりあえず動くコードが求められることもあるでしょう。
大切なのは、現在のプロジェクトがどこでどれくらい技術的負債を抱えているのかを把握して管理することです。
現在のプロジェクトの状況と問題点、改善すべき点を洗い出してリスト化し、確認できる状態にしましょう。
そして定期的にリファクタリングのための時間を確保し、優先度が高いものから整理し改善していく。
そうすることで、技術的負債が膨れ上がらないようにして将来の手間や面倒、全体的な開発コストを抑えることができるのです。
あれもこれもリファクタリング
このようなリファクタリングの考え方を持つことは、IT業界だけではなくどんな業種でも重要です。
- 共有ドライブにみんなが乱雑にファイルを置いていて、どこにどんなファイルがあるのか探すのに時間がかかる。
- 毎日やらないといけない定例業務が増えるばかりで、それに忙殺されてしまう。
- 業務マニュアルが古い内容のまま更新できていない
- 何かトラブルが起こるたびにチェックリストが長くなっていく
業務の手順や流れが年々複雑になって、無駄な作業、非効率的な作業が生まれてしまうのはよくあることです。
実際に業務をやる時間以外にもリファクタリングの時間として、業務の手順・資料の整理のしくみなどを整理する時間を確保するといいでしょう。
「現在のやり方が最善ではない。もっと効率のいいやり方があるはず。」という意識を持って、定期的に業務のやり方を見直すことが大切です。
おわりに
「リファクタリング」をこまめに実施して構造を整理し、後々の手間を抑えよう、というお話でした。
目先の納期だけを気にするのではなく、将来的にかかる保守コスト・メンテナンスコストまで考えて仕組みづくりができるといいですね。
-------------------------------------
ディーキャリアにご興味をお持ちいただけましたら、
以下の連絡先へお気軽にご相談ください。
ディーキャリア岐阜駅前オフィス
電話
058-201-3228 (受付時間:平日9時~18時)
メール
gifu-ekimae@dd-career.com
アクセス
JR岐阜駅から徒歩3分
岐阜県岐阜市吉野町6丁目31番地 岐阜スカイウイング37 東棟102
紹介ページ
ディーキャリア岐阜駅前オフィス
-------------------------------------


