Зачем читать исходный код
В повседневной работе продукт постоянно пишет бизнес-требования, они работают сверхурочно один день, а нам приходится работать неделю, чтобы завершить разработку.
После того, как бизнес-сфера достигла определенного уровня, я обнаружил, что повторяющийся бизнес-код заставляет меня продолжать вставлять, копировать и изменять его День за днем я беспокоился, что стану машиной для производства бизнес-кода и не смогу столкнуться с новыми технологиями и изменениями в окружающей среде. .
В то же время есть и ощущение кризиса.Обратные волны реки Янцзы толкают передние волны.Если вы не будете продолжать учиться, кто-то скоро превзойдет его.
И я хороший и увлеченный одноклассник, мне нравится помогать другим решать проблемы и записывать решения, поэтому я не хочу, чтобы меня спрашивали, какие фреймворки обычно используются в моей работе и что делать, когда я сталкиваюсь с этой проблемой, но я могу не отвечай.
Точно так же надеюсь всем понятно искусство задавать вопросы.Если не можете найти решение через Ду Нианг и Гугл, то идите обсуждать проблему с другими, а то будете презирать, не спрашивайте почему я знаю/ (ㄒоㄒ)/
Так что я успокоился и использовал его все время от моей работы.SpringИз исходного кода фреймворка посмотрите на дизайн кода больших коров.
Как читать исходный код
Хотя я беруSpringВ качестве примера, но шаблон можно применить к любому исходному коду, который вы хотите прочитать~
Проверьте официальную документацию
Можно сказать, что официальная документация фреймворка с открытым исходным кодом является наиболее полным и исчерпывающим введением в использование и описание.Назначение и исключение каждой строки кода объясняется подробно (большой туман).Во всяком случае, официальной документации нет. документ, который не был написан.
Если он работает и не соответствует официальной документации, его следует засчитать.BUG, то читатель узнает и может дать имISSUE, внесите свой вклад в экосистему с открытым исходным кодом~
Проверьте техническое сообщество
Неоспоримым фактом является то, что многие документы фреймворка с открытым исходным кодом написаны на английском языке, поэтому будет очень сложно читать напрямую английский язык.
Но есть в Китае и большие коровы и большие боги, будем учиться у них, а потом продолжать совершенствоваться и впитывать преимущества, а потом создавать каркас, более соответствующий внутренним потребностям. Компьютерщики будут публиковать предложения по переводу или улучшениям в Интернете, чтобы поделиться ими со всеми нами.
например, пойти вCSDN
,掘金
Некоторые люди в технических сообществах, такие как Hesifu, уже перевели или написали свое собственное мнение.Мы сначала учимся на китайских документах, сталкиваемся с сомнениями или обновляем официальные документы, и сравниваем с официальными документами, чтобы сделать наши собственные окончательные выводы и методы использования.
Обобщить и поделиться
Я люблю учиться, но ненавижу бессмысленное обучение
Я видел улыбающегося бога раньшеПланета знаний «Java Geek Technology»Тема «Как эффективно учиться» написана в:
В статье упоминается модель «пирамиды обучения», которая имеет следующие семь уровней:
1 прослушивание 2 читать 3 Аудиовизуальные 4 Демо 5 Обсуждение 6 Практика 7 Научите других
Затем скорость удержания учебного контента увеличивается последовательно сверху вниз:
Ниже приведены выводы, сделанные из сравнения этих двух:
сократить пассивное обучение
Когда мы учились в школе, у нас было слишком много пассивного обучения. В старших классах это было нормально. Когда учитель был в классе, ученики в аудитории внимательно слушали, и после урока они все еще помнят большую часть того, что учитель сказал в классе. .
Но после того, как я поступил в университет, в аудитории было больше студентов, и учитель не мог позаботиться о таком количестве студентов. У студентов также было много занятий вне класса. Я до сих пор помню движущуюся картину. Двое студентов были На уроке высшей математики учитель написал на доске несколько слов, затем ученик задремал, прищурился, открыл глаза и обнаружил, что на доске полно сложных математических теорем...
Так что просто читать книги и смотреть видео без практической практики, такое пассивное обучение неэффективно, если в итоге все забыть, то такое обучение будет бессмысленным.
учиться активному обучению
Я также думаю, что обучение — это не одномоментный процесс, и невозможно полностью запомнить содержание, которое я видел только один раз, как Брат Смайл,Знания jvm я прочитал год назад, а потом уже меньше использовал в работе. Когда нужно было использовать, возвращался и перечитывал книгу. Позже я резюмировал эти часто используемые команды. При последующем использовании, в то время как листайте свои заметки, печатая в командной строке немного быстрее!
В Интернете также есть много обучающих видео. Во время просмотра видео вы должны сами набирать код, чтобы он мог нормально работать. Когда он будет успешно работать, у вас будет чувство выполненного долга, а также это углубит ваше понимание. Вы можете извлечь из этого урок, когда в следующий раз столкнетесь с похожей сценой, чтобы решить настоящие проблемы.
Таким образом, его больше нельзя ограничивать этапом пассивного обучения, так что легко научиться и забыть, сделать шаг, активно учиться, практиковаться, затем подводить итоги и делиться ими, а также продолжать выводить, чтобы сделать обучение более значимым ~
что ты от этого выиграл
Здесь тоже есть два вида урожая:
целевой урожай
-
углубился
Spring
Каркасная инфраструктураправильноIoC
,Aop
а такжеMVC
Иметь более глубокое понимание основных понятий -
хороший стиль кода
- Например, я лично считаю, что в дизайне кода исходный код достиг высокой степени связности, низкой связанности, общей и нормативной абстракции по отношению к классу верхнего уровня.Например, я вижу много
abstract
Абстрактный родительский класс выполняет в нем много сложных операций, но он будет предоставлять некоторые шаблонные методы.Через наследование, пусть подкласс расширяет реализацию, и вызывает метод родительского класса в подклассе."закрыть модификацию, открыть расширение". - Есть также методы ввода для легкого понимания, перечисления ключевых шагов, а затем передачи сложных реализаций в подклассы.В то же время, имена переменных и методов также очень интуитивно понятны.Посмотрите на их имена, узнайте их значения и имейте много комментарии, которые могут уменьшить трудность чтения.
- Несколько шаблонов дизайнаВ исходном коде отражены простые фабрики, фабричные методы, одноэлементные шаблоны, шаблонные методы и т. д. Когда вы понимаете общую структуру, вы можете компенсировать недостатки чтения книг по шаблонам проектирования до этого и углубить свое понимание их. (PS: Планета знаний "Java Geek Technology" каждую неделю будет делиться шаблонами проектирования. Вы можете присоединиться и углубить изучение шаблонов проектирования вместе.)
Благодаря вышеизложенному обучению при самостоятельном кодировании вы заметите эти детали, а затем продолжите улучшать свои способности кодирования.
дополнительный урожай
- Улучшить навыки письма
-
выучить один
demo
Это очень просто, хотя и немного сложно успешно запустить его, но, судя по учебникам и материалам, добиться успеха не проблема, сложность состоит в том, чтобы написать его и научить других. -
То, что я написал ранее, является скорее стенографией, предназначенной для моего собственного обзора.Согласно ключевой информации, мне потребуется некоторое время, чтобы просмотреть ее самому, поэтому другие могут быть не в состоянии ее понять. На этот раз я хотел сделать свой обзор быстрее, поэтому я потратил немного времени на языковую организацию и форматирование, максимально усовершенствовав свои заметки и улучшив свои навыки письма.
- изменить настроение
-
Недоброжелательно сказать, что сейчас слишком много твитов трафика тревоги, я четко понимаю, что люди без забот и погони, не будет прогресса.
-
Но я также понимаю, что если вы видите беспокойство и подумайте о том, чтобы получить что-то в течение ничего, это более ужасная вещь. Если вы не осторожны, вы попадете в ловушку, установленные маркетологами и прекратите двигаться вперед.
-
Почему бы не изменить свой образ мыслей, сохранить свои заботы в сердце, но расслабить ум, не думать о том, чтобы получить что-то даром, а преодолевать трудности и продолжать совершенствовать свои навыки. Так что это исследование осадков, чтобы успокоиться и погрузиться в книги, и получить радость от решения одного вопроса за другим
-
Объективно говоря, мои заботы не исчезли, но мой менталитет немного изменился: я хочу отражать собственную ценность через растущую технологию, решать практические задачи в практической работе и получать признание окружающих.
У тысячи читателей есть тысяча Гамлетов, и восприятие одной и той же книги у всех должно быть разным.Вышеизложенное является лишь личным мнением, и я с нетерпением жду ответа от друзей.
Я поражен, солнечный отаку, который стремится к самодисциплине и технологиям и надеется преподнести вам сюрпризы и чудеса ~ Я с нетерпением жду встречи с вами в следующем выпуске.