0Pricing
Dart Academy · Урок

Структура библиотеки для публикации

Организуйте lib, src и открытый API

«Структура библиотеки для публикации» — бесплатный урок Dart Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Dart Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Dart Academy содержит 4 уроков всего.

Пакет — это просто папка

Публикуемый Dart-пакет — это обычная папка с файлом pubspec.yaml в корне. Этот единственный файл превращает обычный код в то, что может размещаться на pub.dev. 📦

Папка lib — общедоступное место

Всё, что пользователи должны импортировать, находится в lib. Файлы непосредственно в lib являются частью общедоступного интерфейса пакета, поэтому размещайте их внимательно.

Скрытие внутреннего кода в lib/src

Код, который не должен быть доступен извне, помещайте в lib/src. По соглашению эти файлы являются деталями внутренней реализации и не предназначены для прямого импорта пользователями.

lib/
  my_package.dart
  src/
    helper.dart

Файл точки входа

Большинство пакетов поставляются с одним основным файлом в lib, названным в честь пакета. Эта точка входа импортируется пользователями для доступа ко всей библиотеке сразу.

import 'package:my_package/my_package.dart';

Повторный экспорт с помощью ключевого слова export

Точка входа использует export, чтобы предоставить пользователям нужные части из lib/src. Так вы формируете единый чистый и продуманный общедоступный API.

export 'src/calculator.dart';
export 'src/parser.dart';

Продуманное определение общедоступного API

Набор экспортируемых имён — это ваш общедоступный API. Делайте его небольшим и стабильным, поскольку каждый экспортируемый символ — обещание вашим пользователям.

Подчёркивания означают приватность

Имена, начинающиеся с подчёркивания, в Dart являются приватными для библиотеки. Даже внутри lib/src добавляйте одно подчёркивание к вспомогательным элементам, которые не должны становиться доступными извне.

int _internalCount = 0;

Папка example

Добавьте папку example с небольшой запускаемой программой. Она показывает пользователям, как работает ваш пакет, и приносит вам баллы на pub.dev. ✨

Тесты находятся в test

Автоматизированные тесты хранятся в папке test за пределами lib. Они не поставляются пользователям, но подтверждают, что пакет работает согласно обещаниям.

Файлы в корне имеют значение

В корне хорошего пакета также находятся README, CHANGELOG и LICENSE. Именно эти три файла pub.dev показывает посетителям в первую очередь.

Чистая структура с первого взгляда

В итоге структура выглядит как карта: lib предназначена для API, src — для внутренних компонентов, а также есть example, test и файлы метаданных.

my_package/
  lib/
  example/
  test/
  pubspec.yaml

Быстрая проверка

Где следует размещать код, который должен оставаться внутренней деталью реализации?

Итоги: аккуратная библиотека

Вы изучили структуру: в lib находится общедоступный API, lib/src скрывает внутренние компоненты, а export определяет то, что видят пользователи. Сначала структура, затем публикация. 🚀

Часто задаваемые вопросы

Урок «Структура библиотеки для публикации» бесплатный?

Да — полный текст урока «Структура библиотеки для публикации» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Dart Academy, подпишись на CoddyKit PRO. Курс Dart Academy содержит 4 уроков всего.

Чему я научусь в уроке «Структура библиотеки для публикации»?

Организуйте lib, src и открытый API Ты практикуешь Dart Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Dart Academy?

Предыдущий опыт не требуется. Dart Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Структура библиотеки для публикации»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Dart Academy?

Да. Каждый урок Dart Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Структура библиотеки для публикации
  2. Документирование с помощью комментариев dartdoc
  3. Линтинг, форматирование и оценка pana
  4. dart pub publish для pub.dev
← Назад к Dart Academy