Нижегородский Государственный Университет им. Н.И. Лобачевского
Факультет ВМК, каф. МО ЭВМ
License: Creative Commons Attribution-Share Alike 3.0 (CC BY-SA 3.0)
Ресурсы:
- Google-группа
- Документация: https://devtools.readthedocs.org
- Вступите в группу devtools-course, которую мы будем использовать для общения. По всем вопросам необходимо обращаться туда.
- Выберите себе тему из списка, вписав свое имя.
- Зарегистрируйтесь на GitHub, предпочтительно использования аккаунта, из котого понятно ваше имя (опционально).
- Создайте форк нашего проекта: https://github.com/UNN-VMK-Software/devtools-course, клонируйте репозиторий к себе на рабочую машину.
- В подпапке
code
заведите папку со своим именем, и поместите туда файлREADME.md
. Это будет ваша wiki страничка в формате Markdown со всеми деталями о вашем проекте. - Заполните свой
README.md
информацией, чтобы там были заголовки, списки и желательно ссылки и стили (жирный, курсив). Стоит написать свое имя, тему лабораторной работы, раскрыть постановку задачи (предлагается сделать это самостоятельно). - Когда все будет готово, стоит проверить, правильно ли генерируется html на основе вашего Markdown. Для этого можно воспользоваться утилитой pandoc, или например текстовым редактором, который умеет рендерить html.
- После того как вы убедились, что файл выглядит хорошо, нужно будет сделать локальный коммит в Git, затем сделать push изменений в ваш форк на GitHub.
- Когда ваши коммиты попадут на GitHub, нужно будет сделать pull-request в центральный репозиторий: https://github.com/UNN-VMK-Software/devtools-course. Большая просьба в названии указать свою фамилию и номер лабораторной, например "Корняков - Лабораторная работа #1".
- Если будут замечания к вашему коду, вы можете просто добавлять коммиты в
свою ветку
master
, и пулл-реквест будет автоматически обновляться.
- Создайте в своей директории подпапки, подобно тому как это сделано здесь. В дальнейшем нужно будет строго придерживаться подобной раскладки файлов.
- Разработайте интерфейс класса (hpp-файл), и поместите его в папку
include
.- Постарайтесь избегать лишних зависимостей в своем заголовочном файле.
Также желательно предоставлять минималистичный интерфейс, позволяющий
решить задачу, а все остальное поместить в
protected
иprivate
секции класса. - Реализацию на этом этапе писать не нужно, вы можете это сделать чтобы
проверить "жизнеспособность" API. В таком случае cpp-файл можно положить
в директорию
src
, но ничего больше.
- Постарайтесь избегать лишних зависимостей в своем заголовочном файле.
Также желательно предоставлять минималистичный интерфейс, позволяющий
решить задачу, а все остальное поместить в
- Задокументируйте свой класс в стиле Sphinx, см. заготовку:
исходник,
результат.
- Необходимо создать rst-файл и поместить его в свою директорию
docs
. - Необходимо заполнить его, подробно описав (1) назначение класса, (2) сигнатуры публичных методов, (3) приведя примеры использования класса в пользовательском С++ коде.
- Когда файл будет готов, его нужно будет включить в корневой файл с документацией.
- Необходимо создать rst-файл и поместить его в свою директорию
- Проверить корректность построения документации можно двумя способами:
- Локально. Вам нужно будет установить Sphinx, после чего построить документацию, пользуясь файлами из директории docs.
- Онлайн. Вы можете индивидуально подключить свой репозиторий к сервису ReadTheDocs. Тогда вы сможете увидеть свою документацию подобно тому, как это сделано для всего проекта devtools.
- Когда заголовочный файл класса, и документация на него будут готовы, нужно снова прислать пулл-реквест. Большая просьба в названии указать свою фамилию и номер лабораторной, например "Лабораторная работа #2".