Репозиторий разбит на 5 глав и содержит 20 тематических задач. Каждая задача находится в своем пакете.
Найти Разделы с задачами можно по пути:
{intensive-tasks}/src/main/java/com/walking/intensive
.
Последние две задачи (Глава 5) являются дополнительными - они ощутимо сложнее остальных. Интенсив считается пройденным успешно, если засчитаны 18 задач.
Каждая задача предполагает реализацию метода (или методов) в классе TaskN
, где N
- номер задачи.
Условие можно найти внутри классов
Кроме того, каждый класс Task-класс содержит пустой метод main()
, который вы можете использовать
для самостоятельной проверки своего решения в любой удобной вам форме.
Заранее рекомендую ознакомиться со статьями:
По мере сил, каждое действий ниже будет снабжаться ссылкой с краткой инструкцией
Для выполнения задач требуется сделать fork репозитория в GitHub. Коротко здесь
После этого полученную копию проекта требуется склонировать на свой компьютер. Коротко здесь
Также вам может потребоваться актуализировать свою копию, для получения обновлений из оригинального репозитория. О необходимости этого действия будут соответствующие объявления в чате. Коротко о синхронизации здесь
Так же у нас есть видео инструкция
Для каждой задачи:
- Создаем ветку (от
master
) с номером задачи в названии. Например:task1
. Создание веток в IDEA: ссылка. Интерфейс на скриншотах может отличаться от привычного вам. Тогда смотрим здесь - Решаем задачу, проверяем ее с помощью
main()
. - Создаем коммит с решением. В нем должен быть изменен только один класс (кроме задачи 19), убедитесь, что не добавили ничего лишнего.
- Делаем Push коммита.
- Создаем Pull Request на ветку
master
в основном репозитории. Коротко здесь - Название Pull Request должно быть указано в формате "Chapter N, Task M", где N - номер главы, M - номер задачи.
- При получении замечаний по решению, исправляем их и пушим коммит с правками. По возможности все изменения после ревью стоит добавлять одним коммитом.
- Оповещаем ревьюера, если знаете, кто проверял ваш код.
После выполнения задачи вы также можете проверить корректность решения с помощью тестов.
Тесты для задачи можно найти в проекте по пути:
{intensive-tasks}/src/test/java/com/walking/intensive/{your-task-chapter}/{your-task}
.
Если вы видите там класс с постфиксом Test
- откройте его. Слева от названия класса будет зеленая кнопка, по которой
откроется выпадающий список. Запустите тесты, выбрав опцию Run {TestClassName}
.
В открывшейся внизу вкладке вы можете увидеть результаты тестирования для различных тестовых данных. Если какие-то (или все) результаты помечены желтым или красным - выберите каждый из упавших тестов и сравните ожидаемый (expected) и реальный (actual) результаты выполнения. Последний - результат вызова вашего метода. Разберитесь, почему результаты отличаются и исправьте недочеты.
Перед тем как сдать задачу на проверку:
- Код должен быть выровнен:
CTRL
+ALT
+L
(Windows, Linux),⌘
+⌥
+L
(Mac). - Отделяйте логические блоки кода пустыми строками, это повышает читаемость.
- Старайтесь создавать информативные имена без транслита. Короткие имена допускаются только для переменных цикла (i, j,
k) или если они оправданы темой задачи (a, b и c - как стороны треугольника или коэффициенты уравнения). Пример
корректного именования: переменная «определитель матрицы» -
matrixDeterminant
. - При создании имен в Java используется camelCase. Это способ написания
имен (переменных, методов и т.д.) без пробелов, начиная с маленькой буквы (кроме имен классов), где каждое следующее
новое слово начинается с заглавной буквы. Пример имени метода:
getMatrixDeterminant()
. - Имена классов пишутся с большой буквы.
- Имена пакетов (папок) пишутся с маленькой буквы.
- Имена классов и переменных – существительные. Имена методов – начинаются с глагола: get, print и т.д.
Например:
getSum()
,calculateExpression()
. - boolean-переменные и методы, которые возвращает
boolean
, лучше стараться именовать со слова is. Примеры:boolean isLeap = false;
,isLeapYear()
. - Фигурные скобки после условной конструкции (
if
/else
) и циклов должны стоять даже если тело блока состоит из одной строчки.
Удачи!