機能名の変更
ビジネスにおいて、フィーチャーの名前を変更したいと言われることがあります。大まかに言って、このタスクには2つのアプローチがあります。基本的には、目先の労力と将来の複雑さ/バグリスクのトレードです:
- リポジトリ内のすべての名前を変更します。
- 長所:コードの複雑さを増加させません。
- 短所:実行に手間がかかる、即座にバグが発生するリスクが高い。
- インターフェイス、ドキュメント、エラーメッセージなど、ユーザー向けのコンテンツのみ。
- 長所:実行する作業が少ない
- 短所:コードが複雑になり、将来バグが発生するリスクが高くなること。
ファサード・アプローチを選択するタイミング
以下に当てはまることが多いほど、ファサード・アプローチを選択すべきです:
- 新しい名称が永続的なものであるかどうか確信が持てない場合。
- バグが発生しやすい機能(大規模、複雑、リファクタリングが必要など)。
- リネームのレビューが難しい(機能が多くの行、ファイル、リポジトリにまたがっている)。
- リネームが何らかの形で破壊的である(データベーステーブルのリネーム)。
ファサードファーストアプローチを考えてみましょう
ファサード・アプローチは必ずしも最終ステップではありません。最初のステップとして扱われ、後の反復によって完全なリネームが行われます。