Skip to content

Commit

Permalink
Merge pull request UNN-ITMM-Software#8 from UNN-VMK-Software/update-i…
Browse files Browse the repository at this point in the history
…nstructions

Readme updates
  • Loading branch information
Kirill Kornyakov committed Sep 16, 2015
2 parents 233f237 + 5c37f77 commit b9a4fc5
Show file tree
Hide file tree
Showing 8 changed files with 236 additions and 211 deletions.
290 changes: 79 additions & 211 deletions README.md

Large diffs are not rendered by default.

Binary file added docs/git-cheatsheet/1-git-cheat-sheet-v2.pdf
Binary file not shown.
Binary file added docs/git-cheatsheet/2-github-git-cheat-sheet.pdf
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added docs/git-cheatsheet/git-pretty.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
95 changes: 95 additions & 0 deletions docs/part1-git.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# Инструкции по работе с Git

В данном разделе описана типичная последовательность действий, которую
необходимо выполнить перед тем, как начать работать с проектом. Далее
для определенности используется репозиторий `mp2-lab1-set`.

## Первичная настройка Git

1. Инсталлировать клиент Git:
- [Git](https://git-scm.com/downloads)
- [GitHub Desktop](https://desktop.github.com)

1. Настроить имя пользователя, из под которого будут выполняться все операции
с репозиториями Git:

```bash
$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"
```

# Клонирование репозитория с проектом-шаблоном

1. Создать аккаунт на [github.com](https://github.com), если такой
отсутствует. Для определенности обозначим аккаунт `GITHUB-ACCOUNT`.

1. Сделать fork [репозитория][upstream] c проектом-шаблоном (в терминологии
Git `upstream`-репозиторий) к себе в личный профиль с названием
`GITHUB-ACCOUNT`. В результате будет создана копия репозитория с названием
<https://github.com/github-account/mp2-lab1-set> (`origin`-репозиторий).

1. Клонировать `origin` репозиторий к себе на локальный компьютер,
воспользовавшись следующей командой:

```bash
$ git clone https://github.com/GITHUB-ACCOUNT/mp2-lab1-set
```

1. Перейти в директорию `mp2-lab1-set`:

```bash
$ cd ./mp2-lab1-set
```

## Внесение изменений, их регистрация и публикация

При работе с файлами в ветке необходимо управлять изменениями. Далее приведен
перечень основных команд в предположении, что текущей рабочей веткой
является `master`.

1. Получить список текущих изменений:

```bash
$ git status
```

1. Пометить файл как добавленный в текущую ветку репозитория (файл будет
добавлен после выполнения команды `git commit`):

```bash
$ git add [<file_name>]
# <file_name> - название файла для добавления в commit
# если вместо имени указан символ *, то будут добавлены все новые файлы,
# расширение которых не указано в .gitignore
```

1. Добавить изменения в текущую ветку локального репозитория:

```bash
$ git commit [-m "Some comment for your changes"] [-a]
# [-a] - автоматически добавляет изменения для существующих на сервере файлов
# без выполнения команды git add
# [--amend] - перезаписывает последний коммит (используется, если не забыты
# изменения)
```

1. Разместить изменения, которые были добавлены в локальный репозиторий
с помощью команды `git push`:

```bash
$ git push origin/master
```

## Создание pull-request

Чтобы обеспечить возможность удаленной проверки работы (включая автоматический
запуск и проверку корректности тестов), необходимо создать Pull Request
в `upstream`-репозиторий:

1. Открыть в браузере <https://github.com/GITHUB-ACCOUNT/mp2-lab1-set>.
2. Нажать кнопку Pull Request в строке над исходными кодами, содержащей
информацию о последних коммитах.

<!-- LINKS -->

[upstream]: https://github.com/UNN-VMK-Software/mp2-lab1-set
62 changes: 62 additions & 0 deletions docs/part2-google-test.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Инструкции по работе с Google Test

1. Откройте решение `bitfield.sln` из директории `sln`:
- Если установлена Visual Studio 2008, то решение находится
во вложенной директории `vc9`.
- Если установлена Visual Studio 2010, то решение находится
во вложенной директории `vc10`.
- Если установлена более высокая версия Visual Studio, то выберите
любую из указанных директорий. При открытии решения будет выполнена
автоматическая конвертация решения и проектов.
В открытом решении имеются следующие проекты:
- `gtest` -- статическая библиотека Google Test Framework. В ходе выполнения
работы не требует редактирования.
- `sample_prime_numbers` -- пример реализации алгоритма поиска простых чисел
"Решето Эратосфена". Обратите внимание, что файл содержит две реализации
алгоритма, первая использует класс битового поля, вторая -- класс множества.
Текущая компилируемая версия основной функции зависит, объявлена ли
переменная `USE_SET` или нет (строка кода `#define USE_SET`). Реализация
алгоритма также не требует модификации.
- `bitfield` -- статическая библиотека, содержащая модули `tbitfield` и `tset`.
- `test_bitfield` -- тестовое приложение. В ходе выполнения работы не требует
редактирования.
1. Разработайте начальную реализацию методов классов `TBitField` и `TSet`
(файлы `./src/tbitfield.cpp` и `./src/tset.cpp`). На первом этапе
в качестве реализации предлагается поместить "заглушки",
чтобы обеспечить успешную компиляцию решения. При этом тесты могут
не проходить, а пример использования не работать.
1. Скомпилируйте решение и запустите тестовое приложение.
1. Для сборки решения воспользуйтесь командой `Rebuild Solution`
контекстного меню, которое появляется при нажатии правой кнопки мыши
на решении в `Solution Explorer`.
1. Запустите командную строку `cmd.exe` из директории, в которую попали
бинарные файлы.
1. Вызовите в командной строке тестовое приложение `test_bitfield.exe`.
1. Последовательно реализуйте конструкторы, операции вставки/удаления,
перегруженные операции класса `TBitField`.
- После реализации каждого метода пересобирайте решение и запускайте тесты,
чтобы отслежить корректность исполнения тестов для реализуемого метода.
- Когда вы убедились, что метод работает корректно необходимо зафиксировать
изменения в локальном репозитории (команды `git add` и `git commit`,
подробнее в разделе [Общие инструкции по работе с Git][git-instructions]).
1. После того, как вы убедились, что ВСЕ тесты для класса битового поля
отрабатывают корректно, запустите приложение `sample_prime_numbers.exe`
и проверьте его работоспособность для битовых полей (директива
`#define USE_SET` должна быть закомментирована).
1. Последовательно реализуйте конструкторы, операции вставки/удаления,
перегруженные операции класса `TSet`.
- После реализации каждого метода пересобирайте решение и запускайте тесты,
чтобы отслежить корректность исполнения тестов для реализуемого метода.
- Когда вы убедились, что метод работает корректно необходимо зафиксировать
изменения в локальном репозитории (команды `git add` и `git commit`,
подробнее в разделе [Общие инструкции по работе с Git][git-instructions]).
1. После того, как вы убедились, что ВСЕ тесты для класса битового поля
отрабатывают корректно, запустите приложение `sample_prime_numbers.exe`
и проверьте его работоспособность для битовых полей (директива
`#define USE_SET` должна быть раскомментирована).
1. Чтобы обеспечить возможность удаленной проверки работы (включая
автоматический запуск и проверку корректности тестов), необходимо
создать Pull Request в upstream-репозиторий. Подробнее, как создать
Pull Request, в разделе [Общие инструкции по работе с Git][git-instructions].

[git-guide]: https://github.com/UNN-VMK-Software/mp2-lab1-set/blob/master/docs/part1-git.md

0 comments on commit b9a4fc5

Please sign in to comment.