предисловие
Чем больше вы знаете, тем больше вы понимаете, что не понимаете
Эта статья мертваHutool
Начало серии исходных кодов, в основном описывающей, почему вы должны прочитатьHutool
исходный код и чтениеHutool
Каковы преимущества исходного кода? не знаю что такоеHutool
? Или, увидев слово "исходный код", ваше микровыражение выглядит следующим образом?
Я хочу сказать: не паникуйте, просто посмотрите вниз, и все готово! ! !
Что такое Хутул?
Небольшой, но всеобъемлющий инструмент для китайских back-end программистов.Java
Библиотека инструментов. Это также просто библиотека инструментов. Вот введение официального сайта
Из введения на официальном сайте мы можем выделить основные функции библиотеки:
- маленький, но полный
Java
библиотека инструментов - Инкапсулируя статические методы, уменьшая
Java
СвязанныйAPI
затраты на обучение и повышение эффективности работы - По сути, он охватывает общие общие требования в проектах.При разработке вам нужно сосредоточиться только на бизнесе, и вам не нужно заботиться о написании некоторых общих кодов инструментов.
В частности, включает следующие компоненты:
Когда я впервые столкнулся с этим проектом, когда я впервые увидел введение официального веб-сайта, я был возбужден введением и включенными компонентами Когда я увидел «Как Hutool изменил наш метод кодирования», хахаха, содержание Это слишком реально, как если бы я видел себя блуждающим перед поисковой системой Google/Baidu поздно ночью в поисках кода простого инструмента.
После того, как я попользовался ею некоторое время, меня еще больше взволновало то, что она охватывает почти все аспекты наших потребностей в «китаизации». В конце концов, это библиотека инструментов, разработанная китайцами. Она должна учитывать сценарии нашего внутреннего спроса, поскольку насколько это возможно, если у вас есть в основном все инструменты, которые вы хотите, которые могут значительно повысить эффективность кодирования и по-настоящему сосредоточиться на бизнесе.
Ну, видя это, вы хотите попробовать?Hutool
Принесите свой опыт кодирования!
Зачем читать исходный код Hutool?
Мое мнение всегда было о том, должны ли программисты читать исходный код или нет.Пока вы стремитесь к технологиям и хотите глубоко совершенствоваться на техническом пути, Необходимо читать исходный код хорошего фреймворка с открытым исходным кодом. Я не знаю, есть ли у вас такое чувство: проработав какое-то время, я написал много кода и использовал множество фреймворков, но я всегда чувствую, что что-то не так? Кажется, что знания будут получены, а кажется, что нет?
На самом деле, я считаю, что это чувство будет более или менее у всех, по крайней мере, у меня на данном этапе (сейчас работаю три года) это чувство особенно очевидно. Возможно, для студентов, которые только что вошли в отрасль, они не будут чувствовать себя так, потому что есть не так много вещей, с которыми они столкнулись, когда впервые пришли в отрасль.Для некоторых инструментов и кодов с открытым исходным кодом им, вероятно, нужно только знать, как их использовать. Однако после того, как вы поработали какое-то время, накопили определенный объем кода, использовали достаточное количество фреймворков и инструментов с открытым исходным кодом и в основном достигли уровня «знания использования», вы можете постепенно начать испытывать такое чувство. Я чувствую, что лично определяю это как «беспокойство на стадии роста технологии».
Итак, как нам избавиться от беспокойства, которое вызвал у вас этот технологический рост? Это беспокойство связано с тем, что ваш технический уровень достиг поэтапно узкого периода, можно также сказать, что это «критический период», ваше сердце не удовлетворено текущими техническими осадками и имеет сильное желание расти. Тогда в это время нам нужно найти прорыв, хахаха, это похоже на то, когда Супер Сайян трансформировался в первый раз, ему нужно вытерпеть огромную боль, но после трансформации он полон сил.
Нет никаких сомнений в том, что чтение исходного кода является одним из наиболее эффективных способов преодолеть этот период узких мест и получить полное представление о силе. Итак, исходный код какого фреймворка следует читать на данном этапе? Когда я думал об этой проблеме, я вытащилDubbo
,MyBatis
,Spring
Исходный код, попробуйте его внимательно. На последующем судебном этапе настроение автора таково:
Подумав об этом, почему это происходит, причина, какDubbo
,MyBatis
Исходный код Echelon-подобной платформы с открытым исходным кодом обычно имеет следующие характеристики:
- Очень большое количество кода
- Включает в себя множество шаблонов проектирования
- Вовлеченный
JDK
Базовые знания очень обширны, и передовые знания, такие как многопоточность, отражение, аннотация и т. д., должны быть неизбежны, и такие расширенные функции точно используются в нашем ежедневном развитии бизнеса.CRUD
Главным образом - Он в основном аннотирован на английском языке, и трудность чтения относительно высока для китайцев, чей уровень английского не высок.
Именно из-за этих характеристик исходного кода этого типа фреймворка вполне можно объяснить, почему многие студенты боятся и не хотят читать исходный код. НапротивHutool
Исходный код, условно говоря, имеет следующие характеристики:
- Хотя кода много, в конце концов, это чистая библиотека инструментов, по сути, это модульный код определенной точки знаний и определенной точки функции, такой как класс инструмента отражения.
ReflectUtil
, класс струнных инструментовStrUtil
, условно говоря, степень сцепления не высока, мы можем съесть его отдельно - Поскольку это чистая библиотека классов инструментов, большинство из них основаны на
JDK
РоднойAPI
Он охватывает широкий круг знаний, и мы можем сделать обзор знаний для выявления слабых мест в процессе чтения. - Ключевым моментом является то, что он является библиотекой классов, написанной китайцами.Китайские комментарии довольно стандартизированы и очень ясны, что может значительно облегчить наше чтение.
Вот простая копия метода интуитивного ощущения, он такой:
Каждый метод имеет очень подробный комментарий на китайском языке, мы можем четко знать, что делает этот метод. Строки кода в методе также имеют некоторые комментарии, которые чрезвычайно полезны для чтения исходного кода.
Сказав это, чтобы кратко резюмировать, прочитайтеHutool
Каковы преимущества исходного кода:
- Консолидация системы
JDK
Базовые знания, формирующие систему знаний - для чтения
Dubbo
,Netty
Подождите, пока исходный код фреймворка первого уровня заложит прочную основу. - Повышение эффективности кодирования, увеличение времени гребли
- Избавьтесь от страха чтения исходного кода
Последний пункт очень важен,Избавьтесь от страха чтения исходного кода, если вы сделаете первый шаг, обретете уверенность в чтении исходного кода и получите от него удовлетворение, ваше чтение исходного кода будет более плавным. Как люди могут есть толстую бумагу на одном дыхании? Взрослые.
Пух! Сказав так много, разве это не желание просто пойти на работу и ловить рыбу в воде?
Как читать?
Почему ты хочешь читатьHutool
После исходного кода и его преимуществ поговорим о том, как его читать. Я считаю, что студенты, которые читают здесь, правы.Huootl
Исходный код не будет казаться таким непостижимым, на самом деле это не так уж и сложно, или та же фраза, не стесняйтесь, просто сделайте это! ! !
Если я прочитаю инструмент, я решу использовать его напрямуюIDEA
Это было очень полезно, так какGitHub
Открыть после извлечения кода:
Как видно из схемы структуры кода, это простой проект агрегации, каждый подModule
В основном соответствующий одному из компонентов в приведенной выше таблице, я выбираю изcore
Этот модуль начинает читать, который содержит основной код инструмента всей библиотеки инструментов.Когда дело доходит до конкретного уровня кода, автор очень внимательно пишет класс модульного теста для каждого класса инструмента.Мы можем напрямую использовать модульный тест класс для отладки исходного кода в процессе чтения. , вы можете напрямую искать соответствующий тестовый класс:
Соответствующий тестовый код выглядит следующим образом:
может быть напрямуюdebug
Также очень удобно запускать прямо в исходный код и отлаживать его.
Как сформировать замкнутый цикл?
Обучение без результата — это псевдообучение. Почему ты это сказал?
когда ты учишьсяСовершенно нетронутые знанияИли, выполняя сложное функциональное требование, вы можете отправиться в Интернет, чтобы найти большое количество информации и извлечь из этих данных полезную информацию.На окончательное выполнение этого сложного функционального требования уходит три дня и три ночи, а то и больше. , или Скажите, что у вас есть собственное уникальное понимание этой точки знаний. Затем, если вы не сделаете хорошую работу по осаждению и подшивке документов в это время, образуется замкнутый цикл. Итак, можете ли вы быть уверены, что в следующий раз, когда вы столкнетесь с той же или похожей потребностью, вам не потребуется три дня, три ночи или даже больше, чтобы выполнить ее, как в первый раз? Некоторые люди скажут: я соберу информацию, которую собрал в первый раз, и прочитаю ее в следующий раз, когда столкнусь с ней, брат! Если вы так думаете, вы ошибаетесь. Через долгое время информация, которую вы собираете, будет такой же, как чтение книги с небес. Ваша первоначальная траектория мышления была вами забыта. Просто вспомните немного, и все готово.Собранная информация всегда чужая, а не ваша.Вы просто извлекли из нее достоверную информацию.Вы извлекаете полезную информацию в процессе мышления.Это ваша собственная., обязательно запишите его и сформируйте что-то свое.
Или вы читаете исходный код проекта с открытым исходным кодом, и вы неоднократноdebug
Я не знаю, сколько дней и ночей я отлаживал, но я внезапно прошел через две вены Рена и Ду и понял логику кода. Куй железо, пока горячо, и запиши свой мыслительный процесс.Важны результаты, но еще важнее сам мыслительный процесс. Предположим, вы не записываете траекторию своего мышления, через какое-то время вы ее забудете, иногда идея действительно мимолетна!
Будь то жизнь, работа или учеба, самая важная привычка — записывать все, независимо от того, какой инструмент вы используете, записывать, лелеять эти мысли и, поверьте мне, они окупятся в конце концов!
Сказав все это, я планирую выводить чтение в виде серии блогов.Hutool
В процессе исходного кода, если какой-то пункт знаний не будет освоен достаточно хорошо за период, сначала будут консолидироваться соответствующие знания, которые также выводятся в виде блога.
наконец
Наконец, спасибо, что прочитали это.Если вы чувствуете то же самое и думаете так же, как и автор, тогда давайте работать вместе, чтобы избавиться от этого проклятого беспокойства! ! !
благодарныйHutool
Вклад автора в сообщество open source!
Ссылаться на:
-
Hutool
Официальный сайт:hutool.cn/ -
github
:GitHub.com/Оооооооооооооооооооооооооооооооооооооооооо…
Больше оригинальных статей будет размещено в общедоступном аккаунте как можно скорее, пожалуйста, отсканируйте код, чтобы следоватьЧжан Шаолинь