現在、技術的に複雑な製品がほとんどない中小企業で働いています。私はそれらの1つの唯一の開発者です。約1年前、私は製品のレガシーバージョンを入手し、それを「サポート」し始めました。
顧客は、そのような種類の新機能、ビジネス価値などについてのみ話します。問題は、コードはC#ですが、非常に手続き的なことです。抽象化はありません。クラスはVisual Studioで必要な場合にのみ使用されます-たとえば、フォーム。これらのクラスの実装は本当にひどく、コードの保守は本当に困難です。
これらすべての年の間、私はリファクタリングのために自分の時間を費やしています。最新バージョンでは、かなり抽象化などがあります。多くのコンポーネントをゼロから再実装する必要がありましたが、これらのコンポーネントに新しい機能を追加したり、動作を変更したりするのは、他のコンポーネントよりもはるかに簡単だと思います。
問題は、私が自分の時間を過ごすことです。結果は本当に気に入っていますが、1日12時間働くのは好きではありません。同様の状況に行ったことはありますか?何を試せばいいですか?私はすでにそれを議論しようとしましたが、まだ成功していません。
レガシーコードに多くの変更を必要とする新機能を実装することに決めた瞬間が怖いだけです。それは顧客に衝撃を与える可能性があります。これらのアイコンを変更するのになぜ8時間かかるのですか?顧客は、コードに500箇所の変更が必要であることを気にしません。また、これらの500か所すべてを最初に見つける必要があります。
何か案は?