GitHub — различия между версиями
George (обсуждение | вклад) м |
George (обсуждение | вклад) (→Виртуальные машины) |
||
Строка 43: | Строка 43: | ||
== Виртуальные машины == | == Виртуальные машины == | ||
+ | Релизную сборку и её тестирование надёжнее осуществлять на «чистых операционных системах». Использование чистой ОС для сборки ('''ОС в минимальной комплектации''' + '''необходимое для сборки программное обеспечение''') позволяет в полном объёме отследить зависимости пограммы от стороннего ПО и библиотек. Использование чистой ОС для тестирования ('''ОС в минимальной комплектации''' + '''тестируемая программа''' + '''необходимое для тестирования ПО''') обеспечит более строгие условия проверки. | ||
+ | |||
+ | Использование виртуальных систем упрощяет проведение качественного тестирования. Программы для виртуализации (к примеру, '''[https://www.virtualbox.org VirtualBox]''') позволяют запускать одновременно несколько виртуальных ОС, не препятствующих работе основной ОС компьютера (если достаточно ресурсов). Вы можете установить несколько ОС (в том числе с разными архитектурами), по желанию менять их конфигурации (выставлять разное количество доступных ядер, объёмы оперативной памяти и видеопамяти и пр.), подключаться к ним удалённо и т. д. Настроенную виртуальную ОС можно клонировать или передавать в виде специального архива. | ||
+ | |||
+ | Очень полезной функцией систем виртуализации является возможность сохранения состояния виртуальной системы (как в системах резервного копирования) с возможностью быстро вернуться на любое ранее сохранённое состояние. Это позволяет после сборки/тестирования откатить ОС к чистому состоянию. | ||
+ | |||
+ | Для получения доступа к виртуальным сборочным и тестировочным ОС обращайтесь к [[Хлопин С. В.|Сергею Хлопину]]. | ||
== Документация == | == Документация == |
Версия 01:25, 20 ноября 2018
Централизованный аккаунт: @gpn-polytech
По адресу почты @spbstu.ru можно оформить студенческий аккаунт.
Приложение: GitHub Desktop.
Содержание
Участники
- Антонов Илья – @antoidco
- Калюжнюк Александр – @iomguy
- Краева Светлана – @svetlanakraeva
- Лапин Руслан – @FanOfRammstein
- Марков Николай – @mksfmksf
- Мурачёв Андрей – @anewmur
- Мущак Никита – @NikitaMushchak
- Осокина Алена – @ElaineEddington
- Старобинский Егор – @starobinskii
- Хлопин Сергей – @hlserg
- Цветков Денис – @AHuxley
- Шварёв Николай – @megameowmeow
Проекты
Сборка программ
Помимо собственных кодов программе могут требоваться сторонние библиотеки, настройка переменных окружения (среды) и определённым образом заданные входные файлы. Возложение ответственности за это на конечного пользователя чревато ошибками, к примеру, из-за несовместимости версий используемых файлов. Проблема обостряется при параллельной разработке различных модификаций ПО, изменении имён файлов и т. д. Правильным решением видится применение средств автоматической сборки программ.
Автоматическая сборка
Режим дебага
C/C++
Python
Программа PyInstaller позволяет собирать python-проекты в исполнительные файлы на разных платформах (включая Windows, Linux, macOS), автоматически подгружая необходимые библиотеки. Модификация исходного кода не требуется. Доступна сборка графических интерфейсов (Qt4, Qt5, wxWidgets, GTK) без консольного окна. Собранный проект не будет зависеть от того, установлен ли python нужной версии и требуемые библиотеки на компьютер пользователя.
Создание установщика
С помощью NSIS можно создавать программы-установщики для Windows (installer и uninstaller). Если платформа сборки установщика не Windows, потребуется компиляция NSIS из исходников. Существуют аналогичные решения для сборки установщиков под другие системы.
Тестирование
Виртуальные машины
Релизную сборку и её тестирование надёжнее осуществлять на «чистых операционных системах». Использование чистой ОС для сборки (ОС в минимальной комплектации + необходимое для сборки программное обеспечение) позволяет в полном объёме отследить зависимости пограммы от стороннего ПО и библиотек. Использование чистой ОС для тестирования (ОС в минимальной комплектации + тестируемая программа + необходимое для тестирования ПО) обеспечит более строгие условия проверки.
Использование виртуальных систем упрощяет проведение качественного тестирования. Программы для виртуализации (к примеру, VirtualBox) позволяют запускать одновременно несколько виртуальных ОС, не препятствующих работе основной ОС компьютера (если достаточно ресурсов). Вы можете установить несколько ОС (в том числе с разными архитектурами), по желанию менять их конфигурации (выставлять разное количество доступных ядер, объёмы оперативной памяти и видеопамяти и пр.), подключаться к ним удалённо и т. д. Настроенную виртуальную ОС можно клонировать или передавать в виде специального архива.
Очень полезной функцией систем виртуализации является возможность сохранения состояния виртуальной системы (как в системах резервного копирования) с возможностью быстро вернуться на любое ранее сохранённое состояние. Это позволяет после сборки/тестирования откатить ОС к чистому состоянию.
Для получения доступа к виртуальным сборочным и тестировочным ОС обращайтесь к Сергею Хлопину.
Документация
Markdown
Markdown – язык разметки, широко используемый в git-репозиториях. Текстовым файлам, написанным с использованием markdown принято присваивать расширение .md.
Традиционно репозитории содержат следующие файлы:
- README.md – описание проекта, процедур сборки, установки и использования ПО, ссылки на авторов и документацию;
- CHANGELOG.md – описание изменений между разными версиями ПО.
Файлы с разметкой markdown с помощью doxygen могут быть преобразованы в отдельные страницы документации.
Doxygen
Doxygen — гибкий инструмент генерации программной документации по исходному коду.
По умолчанию doxygen поддерживает C++, Python и другие языки (список возможностей). Также есть ряд расширений, добавляющих поддержку Matlab, позволяющих интегрировать doxygen в Visual Studio и др.
В первую очередь следует использовать doxygen доя генерации html. Если для формальной отчётности требуется оформить документацию на программное обеспечение, без дополнительных изменений кода программы doxygen позволяет пересоздать документацию в виде rtf-файла (с автоматической нумерацией и программируемыми полями), который затем можно открыть в Microsoft Word и сохранить в нужный формат.
Также doxygen содержит компилятор latex, что позволяет дополнять документацию формулами.