Иногда, когда программист впервые берет старый проект и видит, что все классы, интерфейсы, модули кода и т. Д. Сразу же думают, что он «раздут». На самом деле, это может быть просто очень глубокая архитектура, которая поначалу может быть ошеломляющей. Если с проектом нет документации (например, диаграммы классов), найдите время, чтобы набросать это. Это не только поможет вам понять, как работает проект, но и поможет всем, кто следует за вами.
Это касается и таких утверждений, как «трудно читать». Если вы знаете язык программирования, то читать его не сложнее, чем любое другое приложение. Стиль оригинального программиста может отличаться от вашего, но если приложение работает, то они не делают ничего, что им не позволяет язык. Поток может быть трудным для отслеживания, но это можно преодолеть, набросав процесс (например, блок-схему). Большинство менеджеров отводят время на ознакомление с приложением, прежде чем вносить изменения. Потратьте время на то, чтобы набросать некоторые диаграммы, и вы (и программист, который следует за вами) будут рады, что вы это сделали.
Что касается "дерьмового кода", это очень субъективно. Это действительно код (реализация), который "дерьмовый" или дизайн? Есть ли нехватка шаблонов дизайна? Злоупотребление или плохая реализация шаблонов проектирования? Или они действительно реализовали цельные шаблоны проектирования, но вы просто недостаточно знакомы с ними, чтобы их распознать?
Суть в том, что это может быть ошеломляющим, когда передается новый проект для сопровождения, и легко обвинить оригинального программиста в «раздутии», «дрянном коде», «трудном для чтения и внесении изменений» и т. Д. Иногда это действительно, но во многих случаях это может быть потому, что программист не понимает дизайн и архитектуру приложения или не понимает, почему некоторые вещи были реализованы такими, какими они были.