Я должен провести аудит большого веб-приложения Java / J2ee, которое развивалось в течение нескольких
года. Это было написано какой-то другой компанией, а не той, на которую я работаю. В
его нынешнее состояние стало трудно развиваться и поддерживать, новые
Функциональные возможности трудно добавить и часто приводят к ошибкам, которые иногда появляются в
производство. Кажется, есть некоторый скопированный / вставленный код, который привел к дублированию кода.
Текущее приложение - это своего рода онлайн-шоппинг с контентом в стиле cms.
В основном это Struts и немного Spring в новых частях кода, может быть, некоторые ejbs добавлены для
хорошая мера. Есть несколько модульных тестов, но их не так много.
Это то, что мне сказали, я еще не видел настоящий код.
Моя компания внесет предложение переписать части этого приложения, чтобы уменьшить
сложность, улучшить качество и модульность, и сделать добавление проще
новые функциональные возможности без регрессий.
Прежде чем сделать какое-либо обязательство, они хотели бы получить некоторую оценку
качества существующего кода и оценки того, сколько из него можно использовать повторно, чтобы
иметь больше, чем догадка в том, что должно быть сделано - полное переписывание или частичное
переписать.
Суть в том, что мне придется сделать это за очень короткий период (пару дней), поэтому я
пытаясь выработать план того, что можно сделать за такое короткое время. То, что я думаю, это:
- проверить "базовые" вещи - обработка исключений, регистрация
- проверить уровень наслоения (представления, контроллеры, дао-слой)
- измерение фактического охвата модульных тестов
- возможно, запустить несколько проектов Checkstyle, Findbugs и PMD для проектов
- ...
Итак, вопрос в том, что еще я должен принять во внимание / проверить / измерить / и т.д.?
Я не уверен, какие цифры я мог бы получить из этого и если бы это действительно означало
что-то, у меня такое чувство, что то, что спрашивает руководство, является своего рода неправильным
подход, поэтому второй вопрос будет: у кого-нибудь есть идея получше?
Буду признателен за любую идею, предложение, комментарий по этому поводу.
Редактировать: я добавлю два детектора мертвых кодов в микс: UCD и DCD