Найти в Дзене

Привет!

Получил фидбек, его много)

Можно похвалить за то, что сделал то, что требовалось, программа работает, все считается

Теперь где прокачаться:
Все сделано в одном классе, вся логика в одном месте. Логика основывается на регулярных выражениях, это не оч хорошо, потому как с регулярками не всегда при чтении кода понятно, что там происходит, должно происходить.
Java - ООП язык. Задание сделано в процедурном стиле. Т.е. все собрано в одном месте и программа состоит из набора команд, которые выполняются одна за другой.
Как все переделать, чтобы прокачаться:
1) Отказаться от регулярных выражений
2) Переписать все с использованием ООП подхода. Определиться какие сущности есть в программе и вынести каждую сущность в отдельный класс.
Например, штуку, которая шлет запросы - в один класс, калькулятор рейтинга - в другой класс. Сущность ответа от сервера - в третий класс.

Про сущность ответа от сервера.
Сейчас ответ от сервера сохраняется просто в строку. Но это JSON, у него есть какая-то структура. Надо изучить как из JSON делать Java объекты и наоборот. Сделать сущность ответа от сервера не строкой, а POJO классом, который из JSON ответа сервера заполняется данными. Сейчас все сделано с использованием только лишь статических методов и переменных.

При переделке на ООП лад использовать объекты. А статическими оставить только лишь максимум константы(адрес сервера).
Максимально стараться не писать самому некоторые вещи, для которых уже есть более высокоуровневые реализации. Например при отправке запроса на сервер вместо HttpURLConnection и URL использовать httpClient от apache. Научиться подключать сторонние библиотеки через зависимости
Оформить все это как maven проект, а не gradle (Возможно тут просто вкусовщина, но за 3 года работы я сталкивался только с maven проектами и maven надо знать).

Следующий шаг - изучить спринг. Начать можно с hello-world на Spring-boot. Затем понять что такое бины в спринге. Что такое контроллер-сервис-репозиторий. Попробовать написать ту-же программу уже на спринге. Чтобы запуск и остановку калькуляции рейтинга можно было инициировать http запросами. Также почитать про протокол http. Тут же уже можно заменить httpClient от apache на спринговый restTemplate.

Мы предлагаем тебе прокачаться в Java Core, изучить основы спринга и чего то более высокоуровневого, научиться работать с базой не с JDBCTemplate, а с чем то более высокоуровневым вроде hibernate, научиться писать сервисы на спринге.
Думаю, за месяца три это можно в спокойном режиме довести до уровня рабочего кода, который не супер сложно понимать)

Если ты готов прокачаться по всем этим замечаниям, то дерзай!
Через примерно три месяца можем снова связаться, и ты снова попробуешь свои силы)
К тому времени, если ты исправишь все замечания, то мы будем готовы тебя рассмотреть, но желательно придумать что-то хотя бы около фултайм, хотя через три месяца уже это лучше предметно обсуждать.

Как-то так)
Что скажешь?
2 минуты