Публичный Сиджекотек. Делимся ссылками по техническим, инженерным и дизайнерским темам. Никакой политики, религии, спорта, анекдотов, котиков, порнухи и прочей фигни. Только по делу. ⋅ Телеграм для связи: @maximal
Бот для код-ревью на базе ChatGPT 3.5 Turbo:
https://t.me/chatgpt_codereview_bot
Пример ответа:
«
Привет! Спасибо за отправку кода. Проверил его и в целом, все выглядит хорошо и профессионально написано. Могу выделить несколько моментов, которые можно улучшить:
1. В методе start есть проверка на Optional длиной if/else. Эту проверку можно заменить на вызов orElseThrow() и выброс нужного исключения в случае, если Optional пустой.
2. В методе start есть два разных вызова nomenclatureScopeEntity.getNomenclatures(), которые различаются в зависимости от условия if (message.isSendWithRemainder()). Рекомендую вынести эти вызовы за пределы if и положить результат в отдельную переменную, чтобы не повторять код.
3. В методе start есть логика сбора продуктов для перекодировки и проверка на пустой список. Рекомендую вынести эту логику в отдельный метод, который будет принимать nomenclatureScopeEntity и sendWithRemainder в качестве параметров и возвращать список продуктов для перекодировки.
Похвалить хочу отличное использование @Async для многопоточной обработки и хорошее использование try/catch блоков для обработки ошибок.
»
Полагаю, может сильно упростить работу джунам, когда до высоких материй далеко, но базу нарастить надо.