Я на самом деле использовал функции рефакторинга ReSharper, чтобы помочь мне справиться с кучей проектов, которые я унаследовал недавно. Итак, чтобы выяснить очень плохо структурированный, недокументированный код другого программиста, я фактически начну с его рефакторинга.
Очистка кода, правильное переименование методов, классов и пространств имен, извлечение методов - все структурные изменения, которые могут пролить свет на то, что должен делать фрагмент кода. Это может показаться нелогичным для рефакторинга кода, который вы «не знаете», но, поверьте мне, ReSharper действительно позволяет вам сделать это. Возьмем, к примеру, проблему мертвого кода красной сельди. Вы видите метод в классе или, возможно, переменную со странным именем. Вы можете начать с попытки поиска использования или, ungh, выполнить текстовый поиск, но ReSharper фактически обнаружит мертвый код и раскрасит его в серый цвет. Как только вы откроете файл, который вы увидите серым цветом с флагами полосы прокрутки, то, что в прошлом могло сбивать с толку красную сельдь.
Существуют десятки других трюков и, возможно, ряд других инструментов, которые могут делать подобные вещи, но я - фанат ReSharper.
Приветствие.