Процесс разработки пакета - Package development process

Программное обеспечение процесс разработки пакета это система для развития программные пакеты. Пакеты упрощают повторное использование и совместное использование кода, например, через репозиторий программного обеспечения. Формальная система проверки пакетов может помочь выявить ошибки, потенциально облегчая создание надежное программное обеспечение (Палаты основная директива).[1] Это, в свою очередь, может помочь повысить продуктивность людей, которые производят и используют программное обеспечение в рамках процесс разработки программного обеспечения или же методология разработки программного обеспечения.

Обсуждение

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

Например, Python пакет объединяет документацию, код и первоначальную настройку и, возможно, примеры, которые могут быть использованы как модульные тесты в одном файле с расширением "py".

Напротив, р В пакете есть документация с примерами в файлах отдельно от кода, возможно, в комплекте с другими материалами, такими как образцы наборов данных и вводные виньетки. Исходный код для пакета R содержится в каталоге с главным файлом «описания» и отдельными подкаталогами для документации, кода, дополнительных наборов данных, подходящих для модульного или регрессионного тестирования, и, возможно, других.[2] Формальный процесс компиляции пакета[3][4] проверяет наличие ошибок различного типа. Это включает проверку на наличие синтаксических ошибок как в языке разметки документации, так и в коде, а также сравнение аргументов между документацией и кодом. Примеры в документации проверены и в случае неудачи выдают сообщения об ошибках. Это можно использовать как примитивную форму модульное тестирование; более формальные модульные тесты и регрессионное тестирование могут быть включены. Это может повысить продуктивность разработки программного обеспечения, упростив поиск ошибок в процессе разработки кода. Кроме того, документация упрощает обмен кодом с другими. Это также упрощает для разработчика использование кода, написанного на несколько месяцев или даже лет раньше. Регулярные проверки выполняются для пакетов, добавленных в Comprehensive R Archive Network (CRAN) и находящихся в разработке на сопутствующем веб-сайте совместной разработки с открытым исходным кодом, R-Forge. Эти проверки многократно компилируют пакеты на разных платформах с разными версиями основного языка R. Результаты доступны разработчикам пакетов. Таким образом, участники пакета узнают о проблемах, с которыми они в противном случае никогда бы не столкнулись, потому что в противном случае у них не было бы легкого доступа к этим альтернативным результатам тестирования.

Интересным исследовательским вопросом было бы сравнить качество вкладов в разные программные репозитории и попытайтесь связать это с особенностями языка и сопутствующим процессом разработки пакетов. Это может включать в себя попытку сравнить скорость роста предоставленного программного обеспечения со степенью формальности и соблюдения стандартов для документации, тестирования и кодирования.

Смотрите также

Рекомендации

  1. ^ Чемберс, Джон М. (2008). Программное обеспечение для анализа данных: программирование с помощью R. Springer. ISBN  0-387-75935-2.
  2. ^ Написание расширений R.
  3. ^ Лейш, Фридрих. «Создание пакетов R: учебное пособие» (PDF).
  4. ^ Грейвс, Спенсер Б.; Дораи-Радж, Сундар. «Создание пакетов R с использованием CRAN, R-Forge и локальных сетей архивов R и репозиториев Subversion (SVN)» (PDF).