リファクタリングツール

RubyMineは、スマートなコードインスペクションや、自動化されたリファクタリング、コードの不吉な臭いの排除を支援する機能を支える、優れたコード解析ルーチンで有名です。

コードスタイル

  • コードの入力時に、RubyMineに構成済みのコードスタイルを自動的に適用させたり、すべてのファイルを一度に再フォーマットさせたりして、一貫したコードスタイルを維持できます。
  • あらゆる言語に対し、インデント、スペース、配置ルールなどのコードスタイルを構成でき、また、それをチームメンバーと共有できます。
  • また、RubyMineは、.editorconfigプロジェクトファイルで指定されたコードスタイルを自動的に適用します。

コードインスペクション

  • コミュニティのベストプラクティスをヒントに、RubyMineは、多くの起こり得るエラーやコードの臭い、つまり、到達不能コードや、呼び出し引数の数の間違い、未使用のローカル変数などを検証します。
  • Railsインスペクションは、ビューやビューヘルパー、コントローラアクションでのモデルメソッドの誤った使用や、非推奨のRails機能などについて警告を行います。
  • 全てのインスペクションに説明が付いており、有効、無効の切り替えや、必要に応じた設定が可能です。

オンザフライのコード解析と修正

  • RubyMineはインスペクションの一覧に基づいて、文字入力中にオンザフライのコード解析とエラーのハイライトを実施します。
  • 全てのインスペクションで、クイックフィックスオプションによる改善をご提案するだけでなく、ルールの無効化や警告を隠すこともできます。
  • クイックフィックスを使うと、新しいメソッドやアクション、部分要素、ファイルなど、多くのプロジェクト要素をその使用箇所から作成できます。 また、それらを使用してコードスタイルのリファクタリングや変更も行えます。

言語横断的なリファクタリング

  • 高速で安全な名前の変更や削除、メソッド/モジュール/スーパークラスの抽出、変数/定数/パラメータの導入、変数/メソッドのインライン化などの機能を使って、どんなコードでもリファクタリングできます。
  • もちろん、リファクタリング機能はすべて、Ruby on Railsに対応しています。例えば、コントローラの名前を変更すると、ヘルパー、ビュー、およびテストの名前も変更されます。
  • Rails固有のリファクタリング機能もあり、例えば、'Extract Partial'を使うと、ビューファイル内の一部のコードを、別の部分ビューに移動させることができます。