Перед тем, как отправить своё решение на проверку преподавателю, сверьтесь с чеклистом
1. В решении выполнены все требования задания
Убедитесь, что все требования задания выполнены. Для этого перед отправкой внимательно прочтите весь текст условия задания и соотнесите сказанное в нём с вашим решением. Навык самопроверки работы перед ревью пригодится вам как при обучении, так и на работе.
2. Проект и репозиторий настроены правильно
Репозиторий должен быть папкой вашего idea-проекта. Обратите внимание, что репозиторием не должна быть папка, в которой лежит папка проекта, он сам должен быть папкой проекта. В нём должны быть соответствующие файлы и папки - src
и др.
Не забудьте создать .gitignore-файл в корне проекта и добавить туда в игнорирование автогенерируемую папку out
и папку настроек идеи .idea
.
3. Что делать, если возникли сложности?
И это здорово! Если их преодолевать правильно, то можно получить большую образовательную пользу для себя. Периодическое возникновение вопросов, недопонимание пройденного материала - нормальная и неотъемлемая часть обучения. А мы здесь, чтобы помочь вам пройти этот путь.
- Если подобный вопрос разбирался на лекции, посмотрите еще раз раздел с этой темой в видеозаписи.
- Если вопрос не решился, попробуйте поискать ответ самостоятельно в интернете, этот навык пригодится вам в работе.
- Если самостоятельно разобраться не удалось, задайте вопрос в общем чате, мы обязательно поможем.
- Прежде чем задать вопрос по условию задачи, перечитайте его ещё раз и убедитесь, что в тексте условия нет прямого ответа на этот вопрос. Умение работать с текстом - важный навык работы с информацией.
- Если ответа на свой вопрос в тексте условия не увидели, задайте его в общем чате, мы раскроем детали условия подробнее.
Если ваша проблема это ошибка компиляции (подчёркивает красным, не даёт запустить программу), сборки проекта, CI и прочие подобные ошибки, то:
- Найдите и прочитайте текст ошибки, который вам подсвечивает идея (или логи); "подчёркивает красным" - это не описание ошибки.
- Попробуйте понять текст ошибки, при необходимости воспользуйтесь переводчиком. Нестрашно, если вы переведёте неточно, тут главное сам процесс: со временем и с нашей помощью вы будете это делать лучше и лучше, но, пропуская этот этап, вы не сможете научиться это делать.
- Если не получилось понять ошибку по её тексту, попробуйте её загуглить и изучить подобную ошибку у других людей. Попробуйте примерить решения их проблем на свой код. Соотнесите найденные описания ошибки с пройденной теорией.
- Если все равно вашу трудности не разрешились, напишите в общий чат, обязательно указав:
- Название задачи и ссылку на условие
- Ссылку на вашу работу
- Текст и скриншот (не фотография) ошибки.
- Ваши размышления и описание шагов, которые вы совершили для решения.
Если ваша проблема это ошибка исполнения (программа умирает уже после запуска) или она отрабатывает неправильно (из-за чего ваши тесты не проходят), то:
- Воспользуйтесь отладчиком для пошагового анализа работы вашей программы. Так вы либо убедитесь в неправильности придуманного вами алгоритма или найдёте конкретное место, где ожидаемое поведение программы разошлось с фактическим.
- Если проблему найти не получилось, напишите в общий чат, обязательно указав:
- Название задачи и ссылку на условие
- Ссылку на вашу работу
- Конкретное и подробное описание проблемы или затруднения при решении задачи ("Помогите что не так" - это не описание)
- Подробное описание вашего анализа программы с помощью отладчика вместе со скринами
- Ваши размышления и описание шагов, которые вы совершили для решения.
4. Отформатирован код
Кроме правил, нарушение которых приводит к ошибкам компиляции, есть ещё и правила форматирования кода, соблюдение которых обязательно при напиании программ.
С большинством проблем может справиться автоформатирование в идее. Для этого выберите Code -> Reformat code
в меню или используйте горячие сочетания клавиш (в меню будет показано актуальное сочетание для вашей операционной системы). Так, идея поправит неправильные отступы, пробелы и некоторые другие ошибки. Следите, чтобы у if-else
, for
, while
всегда были {}
.
Проблемы с именованием сущностей нужно решать самим. Так, все ячейки кроме final
-констант и методы должны писаться с маленькой буквы камелкейсом с маленькой буквы, а классы и интерфейсы - камелкейсом с большой буквы.
Мы вам настоятельно советуем всегда держать код в отформатированном виде во время разработки, со временем глаз привыкнет и вы почувствуете насколько это облегчает поиск ошибок в коде и его анализ. В любом случае, перед отправкой кода на проверку его обязательно нужно отформатировать, иначе он может быть отправлен на доработку без более глубокой проверки на этой итерации.
Вам поручили написать кредитный калькулятор, который "считает как на сайте". Но формулы, естественно, не дали.
Вам нужно провести небольшой анализ и написать свой CreditPaymentService
, который умеет рассчитывать ежемесячный платёж (см. аннутетный платёж).
Параметры, их количество, типы, а также формулу вам необходимо определить исходя из скриншотов ниже.
Обратите внимание: на тех же данных ваш сервис должен считать так же.
Чтобы это продемонстрировать, в Main
создайте объект и 3 раз вызовите его метод calculate
. Результаты каждого вызова выводите в консоль.
Скриншоты для решения задачи (важно - это не реальный сервис!):
На проверку отправьте ссылку на ваш публичный гитхаб-репозиторий с решением.
Каждое задание выполняйте в отдельном репозитории в отдельном репозитории.