Все мы, по крайней мере, на один раз, по крайней мере, построили вклад в одну библиотеку с открытым исходным кодом, идет хорошо, но когда мы посмотрим на исходный код, мы становимся неспособными и глупыми, мы даже не можем получить нашу голову Это.
Сегодня я хочу показать вам свой подход, чтобы прочитать библиотеки и тщательно понимать их, я не думаю, что это лучший подход, но давайте отдам это выстрел, это работало так хорошо для меня.
Если вы не знаете, в какой библиотеке вы должны начать, я предлагаю вам проверить Это Статья Кент С доддами.
Потребности
- VS код (или любой редактор кода, который вы можете прикрепить отладчик к нему)
- Отладчик
- VS Code Whest расширение (мы можем работать без) или отладчика узла🤷🏻♂ ️
- Ваш любимый проект (я использую Jotai на этот раз)
Иногда нам нужно установить наш собственный узел версии 14, потому что я увидел, что отладчик имеет борьбу с 15 версией.
Убедитесь, что у вас есть какой-то опыт документов библиотеки, затем откройте исходный код библиотеки, поэтому давайте начнем наше путешествие и выпить кофе (я на самом деле не делаю), потому что я действительно увлечен, чтобы получить его из моей системы.
Начинать
Большую часть времени я не открою index.js
Файл, потому что многие ветви дерева библиотеки есть, и у нас пока нет никакого ключа о любом из этого. Я предлагаю сначала проверять тесты, чтобы вы могли отладить тесты и посмотреть, как работает библиотека.
Настройки
Джотай имеет шутки, поэтому я могу отладить свои тесты с jest расширение. Мне просто нужно создать файл конфигурации там.
// .vscode/launch.json { "version": "0.2.0", "configurations": [ { "type": "node", "name": "vscode-jest-tests", "request": "launch", "program": "${workspaceFolder}/node_modules/jest/bin/jest", "args": ["--runInBand", "${file}"], "cwd": "${workspaceFolder}", "console": "integratedTerminal", "internalConsoleOptions": "neverOpen", "disableOptimisticBPs": true } ] }
Я использую эту конфигурацию большую часть времени, но иногда это зависит от вашего проекта, например, в исходном коде IVECTJS, вы должны связать jest-cli.js
как программа вместо самого себя.
Контрольные точки
Например, я хотел бы увидеть, как USEATOM
Работает, поэтому мне просто нужно пойти в связанный тест и установить точку останова на линии, о которой я хочу узнать больше. Тогда мы можем запустить vscode-jest-tests
config, так что он будет запустить файл, в котором мы находимся, и он будет остановлен на линии, мы устанавливаем точку останова.
Теперь мы должны играть с панелью отладчика (правый угол) и посмотреть поток выполнения кода, мы можем просто установить много точек останова, куда бы мы ни хотели и понять, что там происходит.
Я надеюсь, что эта статья побуждает вас делать больше открытого источника и убивает ваши страхи (не все они на самом деле). Пришло время для вечеринки снова, поэтому не забудьте поделиться этой маленькой статьей, Это моя первая статья 2021 года после 3 кровавых месяцев, я пытаюсь разместить больше, поэтому помогите мне сделать это с вашими реакциями. Не забудьте взглянуть на мой блог для эксклюзивных изделий там.
Оригинал: “https://dev.to/aslemammad/how-to-read-open-source-js-libraries-5cfp”