Open1

達人プログラマー メモ

dahohodahoho

いつリファクタリングを行うべきか

1年前よりも、あるいは昨日よりも、さらには10分前よりもよい考えが浮かんだ時、つまり何かを学んだ時がリファクタリングの時

  • 二重化
    DRY原則に反しているものを発見した場合。
  • 直交していない設計
    直交性をより高められる場合。
  • 時代遅れの知識
    万物は流転し、要求は変わり、問題意識も向上していきいきます。
    それに従ってコードに手を入れる必要が出てきた場合。
  • 使用方法
    システムが現実世界の本物のユーザーによって使用され、以前は必須だと考えられていた機能よりも一部の機能が重要であると分かった場合。
  • パフォーマンス
    パフォーマンスを向上させるために、システムの一部機能を別の部分に移動させる必要がある場合。
  • テストの合格
    新たなコードを追加し、それに関するテストに合格したタイミングは、今記述したコードをきちんと整理するためのまたとない機会となるはずです。

納期を理由などにリファクタリングをやめれば、将来問題が発生した時に、今以上に多くの依存関係を考慮しながら問題修復をするための大量の時間投資が必要となる。