概要
リファクタリングとは、プログラムの機能を保ちながら理解しやすいコードに改良することです。具体的には、重複したコードを整理したり、変数や関数の命名を分かりやすくしたりすることなどが挙げられます。
リファクタリングを行う場合は、プログラムの機能を壊さない慎重さが必要です。自動テストを都度実行しながら、徐々に範囲を広げていくのが良いでしょう。
リファクタリングを行うタイミングは、専用に作業期間を設ける場合や、通常の開発フロー中で行う場合など、さまざまです。いずれにしても、現状を把握するために調査や分析を行い、どこまでリファクタリングを行うか目標を定める必要があるでしょう。
リファクタリングの目的や方法と実施範囲を確認し、チーム内で相談しながら進めましょう。
学ぶ目的
見通しの良いコードを書く技術は、チーム開発において重要なスキルです。
初期のプロダクト開発や仕様変更の激しい開発現場では、とりあえず動くものを作ることが優先され、コードの読みやすさは後回しにされがちです。このような状態が続くとコードの品質が徐々に下がり、既存のコードに影響を与えずに機能を追加することが難しくなります。
リファクタリングを定期的に行うと、コードが読みやすくなり、バグも発見しやすくなるため、開発コストの削減や長期的な開発速度の向上につながります。
改善したくても、動いているコードを変更することが怖く、リファクタリングできない開発現場がよくあります。リファクタリング手法についてきちんと学び、恐れずにコードの改善に取り組めるようになりましょう。
ここから学ぼう
変数にわかりやすい名前を付けたり、コードを整形したりするだけでも、コードの読みやすさは向上します。まずは、簡単なリファクタリングを学んでイメージを掴みましょう。
簡単なリファクタリングを体験してみよう
わかりやすい名前を付けよう
コードを整形しよう
コードにコメントをしよう
ループとロジックをシンプルにしよう
汎用コードを抽出して関数にしよう
FizzBuzzプログラムをリファクタリングしてみよう
おすすめ教材
リーダブルコード
初学者でもすぐに始められるリファクタリングのスキルについて学ぶことができます。理解しやすいコードを書くために読んでみましょう。
リーダブルコード
美しいコードを見ると感動する。優れたコードは見た瞬間に何をしているかが伝わってくる。そういうコードは使うのが楽しいし、自分のコードもそうあるべきだと思わせてくれる。本書の目的は、君のコードを良くすることだ。(本書「はじめに」より) コードは理解しやすくなければならない。本書はこの原則を日々のコーディングの様々な場面に当てはめる方法を紹介します。名前の付け方、コメントの書き方など表面上の改善について。コードを動かすための制御フロー、論理式、変数などループとロジックについて。またコードを再構成するための方法。さらにテストの書き方などについて、楽しいイラストと共に説明しています。日本語版ではRubyやgroongaのコミッタとしても著名な須藤功平氏による解説を収録。
www.oreilly.co.jp