リファクタリング
Refactoring
りふぁくたりんぐ
他の資格での定義
ソフトウェアの外部から見た振る舞いを変えずに、内部のコード構造を改善する作業。可読性、保守性、拡張性の向上を目的とし、技術的負債の解消にもつながる。
ソフトウェアの外部的な振る舞い(機能)を変えずに、内部構造を改善する活動。コードの可読性・保守性を向上させ、技術的負債を解消する。保守工程や開発中に継続的に行われる。
外部から見たソフトウェアの振る舞いを変えずに、内部構造を改善する作業。コードの可読性、保守性、拡張性を向上させることが目的。回帰テストにより既存機能への影響がないことを確認しながら段階的に進める。
ソフトウェアの外部的な振る舞いを変えずに、内部構造を改善する作業。コードの可読性、保守性、拡張性を向上させる。アジャイル開発やXPにおいて、技術的負債の蓄積を防ぐための重要なプラクティス。
関連キーワードの用語
チーム内でコードの書き方を統一するためのルール集。命名規則、インデント、コメントの書き方、禁止事項などを定める。可読性の向上とレビューの効率化に寄与し、静的解析ツールで自動チェックできる。
ソフトウェアの品質を評価するための特性分類。ISO/IEC 25010では、機能適合性、性能効率性、互換性、使用性、信頼性、セキュリティ、保守性、移植性の8つの品質特性が定義されている。
要件と設計・実装・テストの各成果物間の対応関係を追跡できること。双方向の追跡可能性(双方向のトレーサビリティ)により、要件の漏れや不要な実装の検出が可能になる。要件定義やレビューの評価基準として重要。
プロジェクトの成果物を適宜評価するための活動。コードレビュー、ピアレビュー、デザインレビュー、インスペクション、ウォークスルーなどの種類がある。品質向上と欠陥の早期発見を目的とする。
モデレーターが主導し、チェックリストに基づいて成果物の欠陥を組織的に検出するレビュー手法。正式な手順に従い、参加者の役割(作成者・読み手・記録者等)が明確に定められている。
成果物の作成者が説明役となり、参加者に内容を順に説明しながら問題点や改善点を検出するレビュー手法。インスペクションより非公式で柔軟に実施でき、知識共有の効果もある。