コードは、技術や市場のニーズが発展するにつれて、進化します。やがて、拡張の余地拡大、パフォーマンス向上、変化するニーズへの対応、あるいは単にコード・ベースのクリーンアップのために、既存コードの変更が必要になる場合があります。リファクタリングは、ユーザーの観点から見て動作を変更せずに既存のコードを設計し直すプロセスを指す用語です。
リファクタリングは小規模な場合も大規模な場合もありますが、小規模な変更でもバグが持ち込まれるおそれがあります。リファクタリングが効果的であるためには、それを正しくかつ完全に行う必要があります。1 箇所変更するだけでも、コード・ベース全体に変更が及ぶことがあります。リファクタリングでは、すべての変更を安全な操作で確実かつ永続的に処理するため、パフォーマンスまたは保守性の向上以上に動作が変更されることはありません。
リファクタリング機能のサポートは型付き言語の IDE では今や当たり前になっていますが、動的言語の IDE では簡単には利用できません。動的言語の場合は、型情報が静的に入手できないため、自動リファクタリングを実行するのは困難です。3rdRail では、高度な型推論(プログラムを静的に解析して型を決定する)と意味的型推論(特定のフレームワーク・セマンティクスのコンテキストでプログラムを静的に解析する)を実行することで、リファクタリングを実現しています。
リファクタリングのデモについては、『ビデオ:3rdRail - Railsアクションのリファクタリング(英語)』をご覧ください。
リファクタリングを実行するには:
ヒント: |
選択されたアイテムがコントローラー、ビュー、アクションのいずれでもない場合は、「Rails アイテム名の変更...」が表示されますが、無効になっています。 |
警告: |
動的言語のリファクタリングは、100% 正確というわけではありません。リファクタリングの後でテストすることをお勧めします。 |
ヒント: |
ダイアログで変更を加えていない場合は、ワークベンチから以下を選択してリファクタリングを取り消します。
|