Урок 1 Обзор рабочего процесса разработки пакета


В этом уроке мы поверхностно разберём весь процесс разработки пакета.

Если вы работаете на Windows предварительно устновите Rtools.


Данный урок основан на главе "The Whole Game" книги "R Packages (2e)", под авторством Хедли Викхема и Дженни Брайан.


1.1 Видео

1.1.1 Тайм коды

00:00 Вступление
00:43 Как создать проект пакета
01:50 Структура проекта пакета
02:47 Добавляем проекту контроль версий
03:14 Как добавить функцию в свой пакет
04:17 Как загрузить текущий пакет (load_all())
05:05 Как запустить проверку пакета (check())
05:56 Файл DESCRIPTION
06:52 Добавляем лицензию пакету
07:08 Добавляем документацию к функциям пакета
09:47 Файл NAMESPACE
10:10 Добавляем юнит тесты для функций пакета
13:34 Как использовать в своём пакете функции из других пакетов
16:46 Обзор всего рабочего процесса
19:03 Заключение

1.2 Презентация

1.3 Конспект

1.3.1 Вспомогательные пакеты

  1. devtools - инструменты разработчика пакета
  2. usethis - автоматизация настройки разрабатываемого пакета
  3. testthat - разработка юнит тестов к функциям пакета
  4. roxygen2 - упрощённое написание документации к функциям пакета

1.3.2 Процесс разработки пакета

  1. Создаём проект пакета с помощью команды create_package()
  2. Включаем контроль версий с помощью функции use_git() (урок 2 Настройка системы и интеграция с GitHub)
  3. Добавляем лицензию командой use_mit_licence() (урок 5 DESCRIPTION - Метаданные пакета)
  4. Добавляем в пакет функции с помощью команды use_r() (урок 5 DESCRIPTION - Метаданные пакета)
  5. Документируем созданные функции добавляя специализированиы комментарии сочетанием клавиш Ctrl+Alt+Shift+R (урок 8 Написание документации к функциям пакета)
  6. генерируем файлы документации функций командой document() (урок 8 Написание документации к функциям пакета)
  7. Для тестирования добавляем в файл DESCRIPTION пакет testthat командой use_testthat() (урок 7 Разработка юнит-тестов к функциям пакета (пакет testthat))
  8. Добавляем для каждой функции юнит тесты командой use_test() (урок 7 Разработка юнит-тестов к функциям пакета (пакет testthat))
  9. Запускаем тестирование функций командой test() (урок 7 Разработка юнит-тестов к функциям пакета (пакет testthat))
  10. Для использования функций из стороних пакетов добавляем их в блок Imports файлв DESCRIPTION командой use_package(), в коде используем импортированные функции с помощью package_name::function_name() (урок 6 NAMESPACE - Зависимости пакета)
  11. Проверяем пакет командой check() (урок 11 Публикация в CRAN)

1.4 Тест