Требуется подумать над архитектурой учебного проекта, а именно подумать, какие варианты использования могут быть у этого приложения, какие действия и в какой последовательности будут выполняться в каждом из вариантов использования, как эти действия могут быть отражены в объектной модели нашего приложения.
Для лучшего понимания проектирования рекомендую ознакомиться с кратким обзором паттернов проектирования и книгой для более детального изучения.
Кроме того, необходимо ознакомиться с этими двумя статьями: статья 1 и статья 2, а также с интерактивной обучалкой по git, и сделать отдельную ветку от текущего проекта в своем форке, а затем слить сделанные в ветке изменения с основным бранчем.
По шагам это будет выглядеть следующим образом:
-
Переходим по адресу нашего проекта тут
-
Копируем ссылку из поля HTTPS clone URL
-
Открываем окно терминала и в директории, где хранятся наши проекты, выполняем команду
git clone https://github.com/rgordeev/phonebook.git
-
Затем опять переходим на страницу проекта на github и делаем форк, нажав на кнопку в правом верхнем углу (для этого требуется регистрация на github)
-
Переходим в терминале в директорию в которую мы склонировали проект и выполняем в нем команду
git remote add <произвольный алиас, например myrepo> <url адрес форка, расположенного уже на своей странице>
-
Выполняем команду
git remote -v
чтобы убедиться, что все было корректно добавлено. Должны будем увидеть нечто, похожее наorigin https://github.com/rgordeev/phonebook.git <указанный алиас, например myrepo> git://github.com/<имя выбранное Вами при регистрации на github>/phonebook.git
Для более детального ознакомления с git советую почитать книгу
Соответственно задание по git заключается в
-
Создании дополнительной ветки в клонированном репозитории
-
Внесении произвольных изменений в код проекта
-
Коммите этих изменений в ветку
-
Слиянии ветки с основным бранчем master.
В задании по Gradle требуется в текущий проект добавить зависимость от библиотеки Apache commons lang и реализовать медот equals класса Person, используя статический медот StringUtils.equals(str1, str2) класса StringUtils из добавленной библиотеки.