Code Monkey home page Code Monkey logo

intensive-tasks's Introduction

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

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

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

По мере сил задачи будут снабжаться тестами, которые позволят самостоятельно убедиться в правильности выполнения задачи.

На данный момент каждая задача предполагает реализацию метода (или методов) в классе Main, расположенном по соответствующему задаче пути.

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

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

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

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

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

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

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

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

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

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

  1. Создаем ветку (от master) с номером задачи в названии. Например: task1. Создание веток в IDEA: ссылка. Интерфейс на скриншотах может отличаться от привычного вам. Тогда смотрим здесь
  2. Решаем задачу, проверяем ее с помощью main().
  3. Если по пути {intensive-tasks}/src/test/java/com/walking/intensive для вашей задачи есть тестовый класс - запускаем все тесты в нем. Подробнее - ниже
  4. Создаем коммит с решением. В нем должен быть изменен только один класс, убедитесь, что не добавили ничего лишнего.
  5. Делаем Push коммита.
  6. Создаем Pull Request на ветку master в основном репозитории. Коротко здесь
  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), ⌘ + ⌥ + L (Mac)
  2. Отделяйте логические блоки кода пустыми строками, это повышает читаемость.
  3. Старайтесь создавать информативные имена без транслита. Короткие имена допускаются только для переменных цикла (i, j, k) или если они оправданы темой задачи (a, b и c - как стороны треугольника или к-ты уравнения). Пример корректного именования: переменная «определитель матрицы» - matrixDeterminant
  4. При создании имен в Java используется camelCase. Это способ написания имен (переменных, методов и т.д.) без пробелов, начиная с маленькой буквы (кроме имен классов), где каждое следующее новое слово начинается с заглавной буквы. Пример имени метода: getMatrixDeterminant()
  5. Имена классов пишутся с большой буквы.
  6. Имена пакетов (папок) пишутся с маленькой буквы.
  7. Имена классов и переменных – существительные. Имена методов – начинаются с глагола: get, print…
  8. boolean-переменные и методы, которые возвращает boolean, лучше стараться именовать со слова is. Пример: boolean isLeap = false;
  9. Фигурные скобки после условной конструкции (if/else) и циклов должны стоять даже если тело блока состоит из одной строчки.

Удачи!

intensive-tasks's People

Contributors

ekolokolov avatar kfalcon2022 avatar bigtzar avatar akboal avatar pomidorkayulia avatar jokend1ng avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.