Серия исходных кодов Dead Hutool (ноль) — почему вы должны читать исходный код Hutool

исходный код

предисловие

Чем больше вы знаете, тем больше вы понимаете, что не понимаете

Эта статья мертва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!

Ссылаться на:

Больше оригинальных статей будет размещено в общедоступном аккаунте как можно скорее, пожалуйста, отсканируйте код, чтобы следоватьЧжан Шаолинь