今回既存のシステムにおける、特定機能の削除案件を担当することになったため、備忘録もかねてその実施方法をまとめていきたいと思います。(cakephpメインで運用しているシステムで実施しましたが、mvcの他のシステムでも同様に使える手順かと思います)
手順
1. ルーティングファイル(route.php)から削除対象のコントローラー・メソッドを列挙
2. 1で挙げた対象コントローラー内の各メソッドが、削除対象外のメソッド等で使用されていないか調べるため、メソッド名で対象ディレクトリ内を全件検索
3. 2の検索で引っ掛からなかった削除対象のメソッドを列挙
4. 3で挙げたメソッド内の処理を追っていき、メソッド内で呼ばれている他メソッドがあればメモしておく。
5. 4で挙げたメソッドが削除対象メソッド以外で使用されているか確認(こちらも手順2と同様に全件検索を実施)
6.3で挙げたメソッドと4で新たに出たメソッドが削除対象のphp側のコードとして決定
7. 1で挙げたメソッドで描画しているviewファイルがあれば列挙
8. phpと同様に1で挙げたviewファイルが他所で使用されているか否か全件検索で調査
9. 8で削除対象となったviewファイル内で呼びだれている他viewファイルについても同様の全件検索を実施。
10. 8と9で残った(他所で使用されていない)ファイルがview側の削除対象ファイルとして決定
11. 10で削除対象としたviewファイル内のjs・cssファイルについて、これまでと同様の全件検索で削除対象か否かを確認
12. 最後に削除対象機能の名称などで全件検索をかけ、画像データ等で追加で削除が必要なデータがないかの確認を行う。
13. 完了
所感
今回僕が担当した案件はファイル数としては50ファイルくらいの修正・削除が必要なボリュームでした。
この手順で無事問題なくリリースできたので、よろしければ参考にしてみてください!
ps.初Qiita記事投稿でした。。 これからも頑張って投稿していければいいな。。