学校の課題で Java プロジェクトを受け取り、コードの品質が良好である限り、可能な限りリファクタリングするように依頼されました。
私が行ったことの1つは、クラスを削除することです。「Cab extends ImageIcon」クラスと「Train extends Cab」クラスがありました。しかし、この継承には特定の用途がまったくありませんでした (つまり、Cab を拡張するクラスは "Train" クラスだけでした)。結局、「Train extends ImageIcon」だけになりました。
ドキュメントでは、リファクタリングに名前を付ける必要があります。リストがあります (この投稿の最後に記載します)。最も近いのは「プッシュ ダウン メソッド」と「プッシュ ダウン フィールド」です。しかし、それにはスーパークラスのコンストラクタ本体は含まれていません。
リスト:
- フィールドを引き上げる
- 引き上げ方法
- コンストラクタ本体を引き上げる
- 押し下げ方式
- プッシュダウンフィールド
- サブクラスを抽出
- スーパークラスを抽出
- インターフェイスの抽出
- 階層を折りたたむ
- フォーム テンプレート メソッド
- 継承を委任に置き換える
- 委任を継承に置き換える
どなたか助けていただければ幸いです。私のリファクタリングが悪い選択だった場合は、教えてください! 私はこの種のことではかなり新しいです。
前もって感謝します!