Самообучение работает не так. Сначала следует определить для себя цель и критерии результата, а потом выбрать инструмент, а вовсе не тянуть сопротивляющуюся сову к глобусу за уши.
Плохо:
Читать код от индекского файла куда-то вглубь хер знает зачем. Надеяться, что что-то в себе улучшил. Понять, что не изменилось ничего. Уйти в депрессию, забухать, спиться, замерзнуть под забором.
Хорошо:
Цель: научиться разбираться в чужом коде для повышения своей эффективности на легаси-проектах.
Критерии: изучить 3 всратых проекта и составить C4 на уровнях компонентов и кода для каждого.
План: Выбрать всратый проект. Читать код, рисуя квадратики и стрелочки. Закончив - повторить еще два раза.
Дальнейшие действия. Гордиться результатом. Предлагать свои услуги по поддержке всратых проектов. Получить за услуги кучу денег и кошко-жену.
Цель при этом ты сам выбираешь - научиться применять методы рефакторинга, чувствовать код-смелл, научиться продираться сквозь лапшу, строить диграммы кода, применять паттерны, там где никто не догадался, научиться повышать мейнтейнабилити, ридабилити и прочие -илити кода - это все разные цели с разными критериями.