Skip to content

YashaMars/intensive-tasks-2024

 
 

Repository files navigation

Структура репозитория

Репозиторий разбит на 5 глав и содержит 20 тематических задач. Каждая задача находится в своем пакете.

Найти Разделы с задачами можно по пути: {intensive-tasks}/src/main/java/com/walking/intensive.

Последние две задачи (Глава 5) являются дополнительными - они ощутимо сложнее остальных. Интенсив считается пройденным успешно, если засчитаны 18 задач.

Каждая задача предполагает реализацию метода (или методов) в классе TaskN, где N - номер задачи. Условие можно найти внутри классов

Кроме того, каждый класс Task-класс содержит пустой метод main(), который вы можете использовать для самостоятельной проверки своего решения в любой удобной вам форме.

Работа с репозиторием

Заранее рекомендую ознакомиться со статьями:

  1. Системы контроля версий. Git. Github
  2. GitHub. Fork и Pull Request.

По мере сил, каждое действий ниже будет снабжаться ссылкой с краткой инструкцией

Для выполнения задач требуется сделать fork репозитория в GitHub. Коротко здесь

После этого полученную копию проекта требуется склонировать на свой компьютер. Коротко здесь

Также вам может потребоваться актуализировать свою копию, для получения обновлений из оригинального репозитория. О необходимости этого действия будут соответствующие объявления в чате. Коротко о синхронизации здесь

Так же у нас есть видео инструкция

Алгоритм выполнения и отправки задач на проверку

Для каждой задачи:

  1. Создаем ветку (от master) с номером задачи в названии. Например: task1. Создание веток в IDEA: ссылка. Интерфейс на скриншотах может отличаться от привычного вам. Тогда смотрим здесь
  2. Решаем задачу, проверяем ее с помощью main().
  3. Создаем коммит с решением. В нем должен быть изменен только один класс (кроме задачи 19), убедитесь, что не добавили ничего лишнего.
  4. Делаем Push коммита.
  5. Создаем Pull Request на ветку master в основном репозитории. Коротко здесь
  6. Название Pull Request должно быть указано в формате "Chapter N, Task M", где N - номер главы, M - номер задачи.
  7. При получении замечаний по решению, исправляем их и пушим коммит с правками. По возможности все изменения после ревью стоит добавлять одним коммитом.
  8. Оповещаем ревьюера, если знаете, кто проверял ваш код.

Запуск тестов

После выполнения задачи вы также можете проверить корректность решения с помощью тестов. Тесты для задачи можно найти в проекте по пути: {intensive-tasks}/src/test/java/com/walking/intensive/{your-task-chapter}/{your-task}.

Если вы видите там класс с постфиксом Test - откройте его. Слева от названия класса будет зеленая кнопка, по которой откроется выпадающий список. Запустите тесты, выбрав опцию Run {TestClassName}.

В открывшейся внизу вкладке вы можете увидеть результаты тестирования для различных тестовых данных. Если какие-то (или все) результаты помечены желтым или красным - выберите каждый из упавших тестов и сравните ожидаемый (expected) и реальный (actual) результаты выполнения. Последний - результат вызова вашего метода. Разберитесь, почему результаты отличаются и исправьте недочеты.

Правила оформления кода

Перед тем как сдать задачу на проверку:

  1. Код должен быть выровнен: CTRL + ALT + L (Windows, Linux), + + L (Mac).
  2. Отделяйте логические блоки кода пустыми строками, это повышает читаемость.
  3. Старайтесь создавать информативные имена без транслита. Короткие имена допускаются только для переменных цикла (i, j, k) или если они оправданы темой задачи (a, b и c - как стороны треугольника или коэффициенты уравнения). Пример корректного именования: переменная «определитель матрицы» - matrixDeterminant.
  4. При создании имен в Java используется camelCase. Это способ написания имен (переменных, методов и т.д.) без пробелов, начиная с маленькой буквы (кроме имен классов), где каждое следующее новое слово начинается с заглавной буквы. Пример имени метода: getMatrixDeterminant().
  5. Имена классов пишутся с большой буквы.
  6. Имена пакетов (папок) пишутся с маленькой буквы.
  7. Имена классов и переменных – существительные. Имена методов – начинаются с глагола: get, print и т.д. Например: getSum(), calculateExpression().
  8. boolean-переменные и методы, которые возвращает boolean, лучше стараться именовать со слова is. Примеры: boolean isLeap = false;, isLeapYear().
  9. Фигурные скобки после условной конструкции (if/else) и циклов должны стоять даже если тело блока состоит из одной строчки.

Удачи!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%