/assignments

Домашние задания по Java

Домашние задания по Java

Этот репозиторий содержит домашние задания курса Java для студентов 2го курса Академического Университета.

Общие моменты

Процесс сдачи задания выглядит таким образом:

  1. Вы работаете над заданием в собственном форке этого репозитория.
  2. По окончанию работы вы посылаете Pull Request с изменениями в этот репозиторий.
  3. Pull Request автоматически собирается и тестируется на Semaphore. Если тесты на Semaphore не будут пройдены, то вам необходимо будет внести исправления в свое решение для того, чтобы его можно было проверить.
  4. После того, как все тесты на Semaphore будут пройдены, ссылку с Pull request нужно отправить вашему преподавателю на email.
  5. Далее мы ревьюим ваше решение и, возможно, оставляем замечения, которые вам необходимо исправить.
  6. После исправления всех замечаний Pull Request закрывается и выставляется оценка.
  7. По истечению дедлайна все незакрытые реквесты проверяются, закрываются и выставляется оценка. Для реквестов в которых тесты не пройдены автоматически выставляется оценка "0".

Что оценивается

  1. Код должен проходить все тесты.
  2. Субъективная метрики: разумность, читаемость кода.
  3. Чуть менее субъективные: отсутствие самоповторения, соблюдение общепринятых соглашений о форматировании кода, соглашений о наименовании.

Как сдавать домашние задания (в первый раз)

  1. Сделайте форк этого репозитория. В дальнейшем вы будете работать с ним.
  2. Склонируйте форк к себе на компьютер
$ git clone <your-fork-url>
  1. Выберите задание над которым вы собираетесь работать:
$ git checkout <your-assignment-branch>
  1. Сделайте задание. Обыкновенно от вас будет требоваться реализовать определенный интерфейс и, возможно, написать несколько тестов для него. Подробнее смотрите в README.mkdn в ветке задания.
  2. Сохраните изменения и отправьте их на сервер:
$ git commit -m <your-message>
$ git push
  1. Сделайте Pull Request в этот репозиторий. Проверьте, чтобы ветка в репозитории в которую вы делаете реквест совпадала с веткой задания над которым вы работали. О том, как сделать реквест написано здесь.
  2. При наличии падающих тестов или замечаний с нашей стороны повторите шаги 4 и 5, новый реквест делать не надо.

Как сдавать домашние задания (в последующие разы)

  1. У вас уже должен быть форк и клон форка на комьютере. Если нет, то воспользуйтесь инструкцией выше.
  2. Проверьте, что git настроен на синхронизацию с этим репозиторием:
$ git remote -v

Если вывод этой команды содержит upstream https://github.com/java-course-au/assignments, то перейдите на шаг 4. 3. Настройте git на синхронизацию с этим репозиторием:

$ git remote add upstream https://github.com/java-course-au/assignments
  1. Обновите свой форк:
$ git fetch upstream
  1. Выполните шаги 3-7 из инструкции выше.

Рекомендации по работе с проектом

  1. Для удобной работы с проектом установите себе на компьютер Maven (например sudo apt-get install maven)
  2. Проект можно открыть в IDE (например так)
  3. Тесты можно запускать, как из IDE, так и из консоли с помощью команды mvn test в директории проекта.