forked from valentina-kustikova/mp2-lab1-bitfield
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Kirill Kornyakov
committed
Sep 16, 2015
1 parent
233f237
commit 501dae4
Showing
8 changed files
with
194 additions
and
190 deletions.
There are no files selected for viewing
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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]. |