エントロピーの縮小のためのリファクタリング
> コードベースに入り込んでしまった経緯はどうあれ、その妥協を取り除かない限りコードベースの品質は低下するだろう。プロダクトを出荷したあとで、ソースコードを改善するため十分な時間を割かなければならない。私はこれを「エントロピーの縮小」と呼んでいる。
ゲーム開発では、
mockフェーズにおいて作ったものはそれ以降の
プリプロ、プロダクションフェーズでは一度捨てて作り直したほうがいい。
本開発フェーズでも、スケジュールに追われて妥協するケースはいくらでもある。その妥協を
技術的負債と呼び、放っておくとエントロピーが拡大するように負債も広がっていく
リリースタイミングや、フェーズの切り替わりのタイミングなどで
リファクタリングを行ってエントロピーの縮小をしたほうが、中長期的に見て良い効果を得られる(短期的なプロジェクトだとやらなくてもいいけど)
アドレナリンジャンキーなチームだと、目先のスケジュールや見せかけの成果物が重要視され、エントロピーの増大しまくって最終フェーズに近づくほど辛い目にある