Процесс разработки пакета
Тон или стиль этой статьи могут не отражать энциклопедический тон , используемый в Википедии . ( Август 2017 г. ) |
статьи первый раздел Возможно, придется переписать . ( Июль 2023 г. ) |
программного обеспечения Процесс разработки пакета представляет собой систему разработки пакетов программного обеспечения . Пакеты используются для повторного использования и совместного использования кода, например, через репозиторий программного обеспечения — формальную систему проверки пакетов, которая обычно выявляет ошибки, тем самым потенциально облегчая создание заслуживающего доверия программного обеспечения ( Чемберса основная директива ). [1]
Обсуждение [ править ]
В этом контексте пакет — это набор функций, написанных для использования на одном языке, например Python или R , в комплекте с документацией. Для многих языков программирования существуют репозитории программного обеспечения , в которых люди делятся такими пакетами.
Например, пакет Python объединяет документацию, код, первоначальную настройку и, возможно, примеры, которые можно использовать в качестве модульных тестов , в одном файле с расширением «py».
Напротив, пакет R содержит документацию с примерами в файлах, отдельных от кода, возможно, в комплекте с другими материалами, такими как примеры наборов данных и вводные эпизоды. Исходный код пакета R содержится в каталоге с основным файлом «описания» и отдельными подкаталогами для документации, кода, дополнительных наборов данных, подходящих для модульного или регрессионного тестирования, и, возможно, других. [2] Формальный процесс компиляции пакета [3] [4] проверяет наличие ошибок различного типа. Это включает в себя проверку синтаксических ошибок как в языке разметки документации , так и в коде, а также сравнение аргументов документации и кода. Примеры в документации проверены и в случае сбоя выдают сообщения об ошибках. Это можно использовать как примитивную форму модульного тестирования ; более формальные модульные тесты и регрессионное тестирование могут быть включены . Это может повысить производительность разработки программного обеспечения, упрощая поиск ошибок во время разработки кода. Кроме того, документация упрощает обмен кодом с другими. Это также облегчает разработчику использование кода, написанного месяцами или даже годами ранее. Регулярные проверки выполняются для пакетов, добавленных в Comprehensive R Archive Network (CRAN) и разрабатываемых на сопутствующем веб-сайте совместной разработки с открытым исходным кодом R-Forge. Эти проверки повторно компилируют пакеты на разных платформах с разными версиями основного языка R. Результаты предоставляются сопровождающим пакетов. Таким образом, разработчики пакетов узнают о проблемах, с которыми в противном случае они никогда бы не столкнулись, поскольку в противном случае у них не было бы легкого доступа к этим альтернативным результатам тестирования.
Интересным исследовательским вопросом было бы сравнить качество вкладов в различные репозитории программного обеспечения и попытаться связать это с особенностями языка и сопутствующим процессом разработки пакетов. Это может включать попытку сравнить темпы роста предоставляемого программного обеспечения со степенью формальности и соблюдения стандартов документации, тестирования и кодирования.
См. также [ править ]
- Система управления пакетами для объединения пакетов программного обеспечения на разных языках в операционную систему.
- Репозиторий программного обеспечения для коллекций пакетов, которыми можно поделиться.
- Процесс разработки программного обеспечения или методология разработки программного обеспечения для более общего обсуждения разработки программного обеспечения.
Ссылки [ править ]
- ^ Чемберс, Джон М. (2008). Программное обеспечение для анализа данных: программирование на R. Спрингер. ISBN 978-0-387-75935-7 .
- ^ Написание расширений R.
- ^ Лейш, Фридрих. «Создание пакетов R: учебное пособие» (PDF) .
- ^ Грейвс, Спенсер Б.; Дораи-Радж, Сундар. «Создание пакетов R с использованием CRAN, R-Forge и локальных сетей архивов R и репозиториев Subversion (SVN)» (PDF) .