Я думаю, что вы должны начать с того, чтобы задать себе вопрос, который, кажется, пропущен Чем плох код? И этим вы действительно задаете себе следующие вопросы:
- Разве код не делает то, что должен делать?
- Вызывает ли код проблемы при обслуживании программного обеспечения?
- Является ли код полностью автономным?
- Планируете ли вы обновить или заменить код в любое время в обозримом будущем?
- Есть ли обоснованное экономическое обоснование, которое вы можете предпринять для обновления кода, который вас заинтересовал?
Если есть что-то, чему я научился за эти годы, так это то, что вы не можете позволить себе угадать себя после этого. Каждый раз, когда вы решаете проблему в коде, вы узнаете что-то и, вероятно, увидите, как ваше решение - или что-то подобное - могло бы быть лучшим решением проблемы, которую вы решили по-другому несколько лет назад. Это хорошая вещь, потому что она показывает вам, что вы извлекли уроки из своего опыта. Однако реальный вопрос заключается в том, может ли написанный ранее код стать унаследованной проблемой, с которой со временем будет труднее работать.
Здесь мы на самом деле говорим о том, является ли код, который вас беспокоит, простым или сложным в обслуживании, и насколько дорогостоящим может быть обслуживание с течением времени. По сути, это вопрос технического долга и того, стоит ли сейчас погашать этот долг с помощью небольшого хирургического обслуживания, или этот долг достаточно мал, чтобы вы могли позволить ему немного проскользнуть.
Это вопросы, которые вам действительно необходимо сопоставить с вашей нынешней и будущей рабочей нагрузкой, и их следует подробно обсудить с вашим руководством и командой, чтобы лучше понять, куда инвестировать ваши ресурсы и стоит ли ваш старый код. время, которое вам может понадобиться потратить на это - если вообще. Если вы можете сделать хорошее экономическое обоснование для внесения изменений, то непременно сделайте это, но если вы сталкиваетесь с необходимостью возиться с кодом, потому что вам стыдно за то, как вы его написали, то я полагаю, что нет место для личной гордости, когда дело доходит до поддержания старого кода. Он либо работает, либо нет, и его легко обслуживать или он дорогостоящий, и он никогда не бывает хорошим или плохим просто потому, что вчерашний опыт был недоступен вам вчера.