我目前在一家技术含量很少的小型公司工作。我是其中之一的唯一开发者。大约一年前,我获得了该产品的旧版本并开始“支持”它。
客户只谈论新功能,业务价值和其他类似的功能。问题是,尽管代码是用C#编写的,但它是过程性的。没有抽象,仅在Visual Studio需要它们的地方才使用类-例如表单。这些类的实现确实很糟糕,并且代码很难维护。
这些年来,我花费自己的时间进行重构。在最新版本中,有一些漂亮的抽象等。我不得不从头开始重新实现许多组件,我真的觉得向这些组件添加新功能或更改行为要比其他组件容易得多。
问题是,我花自己的时间。我非常喜欢结果,但我不喜欢每天工作12个小时。您去过类似情况吗?我应该怎么做?我已经尝试过讨论它,但仍然没有成功。
当我们决定实现需要对遗留代码进行大量更改的新功能时,我只是感到害怕。这可能会让客户感到震惊:为什么您需要8个小时来更改这些图标?客户只是不在乎我需要更改代码中的500个位置。我还应该首先找到所有这500个地方。
有任何想法吗?