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