В разработке программного обеспечения сборка — это процесс преобразования файлов исходного кода в автономные программные артефакты , которые можно запустить на компьютере, или в результате этого. [1]
Создание программного обеспечения — это комплексный процесс, включающий множество различных функций. Некоторые из этих функций описаны ниже.
Функция контроля версий выполняет такие действия, как создание и обновление рабочего пространства, определение базовых показателей и составление отчетов. Он создает среду для запуска процесса сборки и собирает метаданные о входных и выходных данных процесса сборки, чтобы обеспечить повторяемость и надежность.
Такие инструменты, как Git , AccuRev или StarTeam, помогают решать эти задачи, предлагая инструменты для пометки определенных моментов истории как важных и т. д.
Эта функция , также известная как статический анализ программы/статический анализ кода, отвечает за проверку соблюдения разработчиками семи осей качества кода: комментарии, модульные тесты, дублирование, сложность, правила кодирования, потенциальные ошибки, а также архитектура и дизайн. [2]
Обеспечение высокого качества кода проекта приводит к меньшему количеству ошибок и влияет на нефункциональные требования, такие как удобство сопровождения, расширяемость и читаемость; которые оказывают прямое влияние на рентабельность инвестиций в бизнес. [3]
Это лишь небольшая особенность управления процессом сборки. Функция компиляции превращает исходные файлы в непосредственно исполняемые или промежуточные объекты. Не каждому проекту потребуется эта функция.
В то время как для простых программ процесс компиляции состоит из одного файла , для сложного программного обеспечения исходный код может состоять из множества файлов и может быть объединен различными способами для создания множества различных версий.
Процессом создания компьютерной программы обычно управляет инструмент сборки — программа, которая координирует и контролирует другие программы. Примерами такой программы являются make , Gradle , Meister от OpenMake Software , Ant , Maven , Rake , SCons и Phing. Утилите сборки обычно необходимо скомпилировать различные файлы в правильном порядке. Если исходный код в конкретном файле не изменился, то, возможно, его не потребуется перекомпилировать ( «не может быть», а не «нет необходимости», поскольку он сам может зависеть от других файлов, которые были изменены). Сложные утилиты сборки и компоновщики пытаются воздержаться от перекомпиляции кода, который в этом не нуждается, чтобы сократить время, необходимое для завершения сборки. Более сложный процесс может включать в себя другие программы, создающие код или данные как часть процесса сборки и программного обеспечения.