Skip to content

Commit

Permalink
Split guide into several parts
Browse files Browse the repository at this point in the history
  • Loading branch information
Kirill Kornyakov committed Sep 16, 2015
1 parent 233f237 commit 501dae4
Show file tree
Hide file tree
Showing 8 changed files with 194 additions and 190 deletions.
245 changes: 55 additions & 190 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.
79 changes: 79 additions & 0 deletions docs/part1-git.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
## Инструкции по работе с Git

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

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

1. Сделать fork репозитория
<https://github.com/UNN-VMK-Software/mp2-lab1-bitfield>
терминологии Git upstream-репозиторий) к себе в личный профиль с названием
github-account. В результате будет создана копия репозитория с названием
<https://github.com/github-account/mp2-lab1-bitfield>
(origin-репозиторий).

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

```
$ git clone https://github.com/github-account/mp2-lab1-bitfield
```

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

```
$ cd ./mp2-lab1-bitfield
```

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

```
$ git config --local user.name "github-account"
```

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

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

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

```
$ git status
```

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

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

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

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

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

```
$ git push origin/master
```
60 changes: 60 additions & 0 deletions docs/part2-google-test.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
## Инструкции по работе с 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].

0 comments on commit 501dae4

Please sign in to comment.