Я работаю с устаревшим приложением 1M LOC, написанным и модифицированным примерно 50 программистами.
* Remove unused code
Почти бесполезно ... просто игнорируй это. Вы не получите большой возврат инвестиций (ROI) от этого.
* Remove duplicated code
На самом деле, когда я что-то исправляю, я всегда ищу дубликат. Если я нашел что-то, я поместил универсальную функцию или прокомментировал все вхождения кода для дублирования (иногда, усилия по установке универсальной функции не стоят того). Основная идея заключается в том, что я ненавижу делать одно и то же действие более одного раза. Другая причина в том, что всегда есть кто-то (может быть я), который забывает проверять другие случаи ...
* Add unit tests to improve test coverage where coverage is low
Автоматические юнит-тесты - это замечательно ... но если у вас большое отставание, само задание будет трудно выполнить, если у вас нет проблемы со стабильностью. Продолжайте работать над частью, над которой вы работаете, и надеемся, что через несколько лет вы получите достойное освещение.
* Create consistent formatting across files
ИМО Разница в форматировании является частью наследия. Это дает вам подсказку о том, кто или когда код был написан. Это может дать вам некоторое представление о том, как вести себя в этой части кода. Делать работу по переформатированию - это не весело и не приносит никакой пользы вашему клиенту.
* Update 3rd party software
Делайте это только в том случае, если есть новая действительно приятная функция или ваша версия не поддерживается новой операционной системой.
* Reduce warnings generated by static analysis tools
Это может стоить того. Иногда предупреждение может скрыть потенциальную ошибку.