Использую ООП для построения "дерева" зависимостей и "простыню" для data work-flow.
Комментирую секции, отвечающие за логику обработки потока данных и разные редко встерчающиеся неявные операции, если таковые есть (например, специфичные сложные условия или этажерки возврата объектов).
Комментировать библиотеки или классы - смысла нет.
Всю логику верхнего уровня храню в одном файле и с него начинаю просмотр: сразу всё в голове "вырисоввывается" в плане происходящего с данными: зависимости, вызовы/обращения и т.п.
Если что-то не дописал и надолго нужно отложить: ставлю или ошибку компиляции с комментом над ней или рейзю/прерываю и вывожу мессагу для себя.