Недавно мне задали вопрос:
«
Как я подхожу к изучению любой библиотеки или фреймворка, чтобы хорошо и глубоко их понимать?"
И ключевой момент в этом вопросе - это слово "
понимать", потому что информации о программировании сейчас невероятно много.
Просто невозможно все помнить, учитывая еще не очень хорошую память
И конечно путь только один: вместо запоминания информации нужно сделать все, чтобы ее понять.
Ведь чем больше и лучше ты поймешь, тем меньше придется зубрить.
Это как инвестиции: сначала ты тратишь больше времени, чтобы лучше изучить инструмент, но
на более длительный период выигрыш просто увеличивается по экспоненте!
А отвечая на вопрос: простого ответа здесь нет, но есть как минимум 3 вещи, которые действительно работают для меня и эффективно справляются с этой задачей.
Debug
Это как остановить время (или быть в моменте), когда ты видишь состояние потока и всех объектов лишь в одной точке выполнения!
Более того, ты еще и управляешь им, заглядывая в прошлое и будущее!
Именно Debug дал первый толчок для меня в понимании программирования в принципе.
Чтение исходного кода изучаемых инструментов
Только исходный код всегда говорит правду, и только он является single source of truth.
Преподавание
Эту простую истину уже открыли задолго до меня: если хочешь что-то понять - попробуй рассказать другому.
Пожалуй, этот пункт повлиял на меня сильнее всего почти 5 лет назад, когда я решил заняться преподаванием.
Ну и конечно же
опыт никто не отменял. Чем больше ты изучаешь различных фреймворков, библиотек и подходов, тем проще тебе дается изучение новых. Ибо основные концепции одинаковы!
PS. Кстати, заняться преподаванием меня сподвигло прочтение книги "
7 навыков высокоэффективных людей"