修正方法署名の再構築手法

4249 ワード

修正方法署名の再構築手法
今日同僚が書いたブログ「ショートカットキーに依存して再構築することはできません」を見ました.methodAと呼ぶ方法があるというケースがあります.
1
2
3
public void methodA(){  // blablabla...  } 

その後需要変動により,パラメータを1つ追加する必要があり,一応この様子と見なす.
1
2
3
public void methodA(String param){ // blablabla...  } 

彼はもともとメソッド署名を直接修正しようとした(IntellijのショートカットキーはCtrl+F 6).しかし、このメソッドを呼び出すすべての場所では、新しいパラメータの処理が不足しているため、ユニットテストやコンパイルに失敗します.彼はショートカットキーに頼って再構築するのはだめだと結論した.
私が言いたいのは、ショートカットキーに依存して再構築できないのではなく、ショートカットキーがないと再構築が異常に苦痛になるということです.便利なショートカットキーがなければ、手作業で再構築すると再構築の時間コストやエラーコストが大幅に増加します.ショートカットキーの再構築がますます便利になったからこそ、再構築は贅沢品ではなく、日常茶飯事になった.
実はこの場合、ショートカットキーを使う考えが間違っています.私たちの目標はmethodAにパラメータを追加することです.修正方法で署名したショートカットキーを直接使えば、直接できるように見えます.しかし、実はこのような考えは大きな間違いです.彼が本文で与えたもう一つの実装方式と結びつけて、修正方法署名の正しい順序はこのようにすべきである.
  • は、再構成されたmethodAに相当するmethodA 2を新たに書いた.実装にmethodAを呼び出す必要がある場合は、直接呼び出すことができます.
  • は、すべての使用例を検索するショートカットキー(Ctrl+Alt+F 7)を使用してmethodAのすべての使用例を検索し、methodA 2の実装を呼び出すように逐一変更する.期間中、変更箇所ごとにテストを実行し、変更が元の機能を破壊しないようにします.
  • methodA 2がmethodAメソッドを呼び出した場合、inline methodショートカットキー(Ctrl+Alt+N)を使用してmethodAをmethodA 2にインラインします.
  • safe deleteショートカットキー(Alt+Delete)を使用してmethodAメソッドを削除します.methodAへのメソッド呼び出しがまだある場合は、IDEがプロンプトを表示します.
  • renameのショートカットキー(Shift+F 6)を使用してmethodA 2メソッドをmethodAと名前を変更します.

  • この5つのステップのうち4つのステップにはIDEのショートカットキーサポートが必要であることがわかります.IDEのショートカットキーを外すと、小さなrenameにも多くの時間がかかることがわかります.
    この方式は、上に行くと直接方法の署名を修正する方法とどこがいいですか?
  • でコンパイルエラーはほとんど発生しません.直接メソッド署名を修正すると、コンパイルエラーを修復する泥沼に陥ります.
  • は、プログラムの構築に失敗することなく、いつでも停止することができます.方法は、プログラムを長い不安定な状態に持ち込む.

  • 再構築手法を習得することも重要であるが,IDEが提供する再構築ショートカットキーを把握することも軽視できない.Javaプログラマーであれば、Intellijを使用することをお勧めします.中の再構築ショートカットキーはeclipseよりも多く、効果的です.c#プログラマーの場合は、Visual StudioにReShaperをインストールすることをお勧めします.注意IntellijReShaperはいずれもJetBrains製です.プログラマーがIDEを選ぶのは女の子が化粧品を使うのと同じように文句を言っていることを知っておく必要がありますが、JetBrainsは多くのプログラマーの心を勝ち取っています.
    PS:この2つの製品は無料ではないことは知っていますが、プログラマーにとって、時間を節約することはお金を節約することです.ツールにとって、もちろん一番いいものを使います.
    作成者:
    黄博文@無敵北瓜  
    出典:
    http://www.cnblogs.com/huang0925
    黄博文の地盤
    本文の著作権は本人とブログ園が共有しているので、転載を歓迎しますが、著者の同意を得ずにこの声明を保留し、文章のページの明らかな位置で原文の接続を与えなければなりません.そうしないと、法律責任を追及する権利を保留します.
     
    分類:
    プログラミング開発