Две недели с Java и Spring Boot. Наблюдения

Две недели с Java и Spring Boot. Наблюдения

Кирилл Мокевнин


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


Начну с того, что современная интеграция lsp в виме, сделала работу с джавой очень комфортной. Все автоматично, дебагер работает как надо, куча видов рефакторингов, многие из которых я пока еще даже не попробовал. В целом, код много где пишется сам и правится сам. Косячки при этом встречаются, но почти не мешают. Как пример, не угадывает статические импорты сам, приходится их ручками добавлять.


Сама джава конечно выросла, последние версии + ломбок, позволяют писать код ну очень эффективно, снижая уровень бойлерплейта до минимума. И даже если он есть, то автогенерация/автоудаление работают достаточно хорошо, чтобы не замечать этот бойлерплейт.


Дока по джаве как была отстой так и осталась. На большинстве сайтов инструкции сделаны так что их читать невозможно, начиная от рекламы, которой все завешено (ей богу, нигде кроме джавы такого ужаса не видел, один из популярных сайтов мне тупо вешает браузер, поэтому я туда даже заходить перестал), заканчивая тем, что люди которые пишут статьи по джаве почти всегда используют какой-то отстойный хайлайтер, что листинги читать очень тяжело. Найти приличную подсветку и оформление почти нереально. При этом большая часть доки устаревшая, так как за последние два года был переход на spring boot 3 и там многое делается уже не так. Старый код конечно еще работает, но проблема в том, что там много рукопашки, а я хотел использовать современные подходы, где меньше кода и больше готовых пакетов и конфигурирования. Например, сильно поменялась работа с JWT за счет встроенного пакета oauth2.


С другой стороны, эта ситуация толкнула меня на постоянное использование чатагпт, который за эти две недели я использовал почти пополам с поиском. В каких-то случаях даже больше чем поиск. Но как минимум дошел до ситуации, когда я делаю запрос в чатгпт и одновременно начинаю гуглить, потом сравниваю что получилось и выбираю некий микс. Не представляю что бы я делал без чата, он может отвечать на вопросы, на которые вообще не факт что есть ответы в интернете. Например я хочу узнать разницу между двумя аннотациями и чатгпт справляется с этим идеально с первого запроса. Вообще ситуаций когда мне приходилось переформулировать чату какой-то запрос, было буквально пару за две недели. В остальных случаях было сразу понятно то или не то. Не то чаще всего оказывалось по причине устаревания, это пожалуй главный недостаток, нужно больше свежих данных.


Грешным делом подумал, что если бы начинал новый проект, в котором было бы гарантировано много разработчиков включая фронтенд (Хекслет не такой проект), то я бы рассмотрел джаву/котлин как основной выбор. В случае же стартапов и проект где гарантировано будет потолок (как у Хекслета) по ресурсам и разработке, я по прежнему выбираю Rails :)


Report Page