Вы здесь:

Несмотря на то, что код может быть рабочим, его СТИЛИСТИКА, компоновка может быть ошибочна. Есть такие понятия "чистый код" и для достижения этой цели применяется рефакторинг. Написано несколько книг, среди которых, наверное, самая популярная Боба Мартина "Чистый код". Вышло еще несколько книг:

Книги по рефакторингу

Есть инструментальные стредства для анализа кода в Idea, помогающие с рефакторингом:
1. Сторонний plugin SonarLint Plugin
https://plugins.jetbrains.com/plugin/7973-sonarlint

sonarlint_plugin

вызывается контекстное меню (через правую клавишу мыши на пакете, классе в проводнике Idea) -> SonarLint -> Analize with SonarLint.
Результаты:

idea_sonarqube_result1.png

idea_sonarqube_result2.png


2. Встроенный в Idea через меню контекстное меню->Analize/Inspect Code.
указать что анализировать:

idea_analize_when.png

Замечания структированы:

idea_analize_variants.png

И по каждому замечанию показано что и где не так:

idea_sonarqube_result2.png

idea_result.png

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

Отдельно про книгу "Горький вкус Java" (Брюс Тейт). Если оcтальные книги показывают как надо писать код, то эта книга помогает распознать, так называемые, антипаттерны, т.е. устойчивые , но кривые приемы. Книжка почти художественная. PS:

  • Почему книги, а не интернет, телефон и т.п. в наш век интернета? Чисто из практических соображений. Больше свободы. У книги "большой" экран, не привязан к розетке, юзабельность (просмотр предыдущих фрагментов...) выше и т.п.
  • Книги старые, но до сих пор актуальные.

И еще встретил такое сообщение:

FAANG software engineer рассказал, как на самом деле выглядит «vibe coding» в FAANG.
Спойлер: это не просто сидеть и писать код с ИИ. Большая часть работы происходит до того, как ты вообще откроешь редактор.
Как это выглядит на практике:
1. Technical Design Doc
Всё начинается с дизайн-документа. Это proposal, где ты доказываешь, что идея имеет смысл. Нужно согласие стейкхолдеров, команд и архитекторов. Здесь делается львиная доля работы.
2. Design Review
Дизайн-док проходит жёсткий разбор у senior-инженеров. Документ буквально «разрывают». И это нормально - боль просто переносят в начало, чтобы потом не чинить продакшн.
3. Детализация подсистем
После одобрения дизайн-дока команды несколько недель дописывают документацию по каждому подсервису и компоненту.
4. Backlog и спринты
Dev, PM и TPM вместе дробят систему на конкретные задачи и выстраивают порядок их реализации.
5. Разработка (вот тут появляется vibe coding)
Только теперь начинается кодинг. Используется TDD:
  • сначала ИИ-агент пишет тесты
  • затем тот же агент помогает реализовать фичу. ИИ здесь не замена инженеру, а мощный ускоритель.
  • Code Review. Перед мержем нужно одобрение двух разработчиков. ИИ всё чаще помогает и на этапе ревью.
  • Staging и production. Сначала тесты и проверка в staging. Если всё ок - деплой в прод.
Главный вывод:
В FAANG «vibe coding» работает только потому, что вокруг него стоит жёсткая инженерная дисциплина, дизайн-доки и процессы. ИИ ускоряет выполнение задач, но не отменяет системное мышление и архитектуру.

(https://reddit.com/r/vibecoding/comments/1myakhd/how_we_vibe_code_at_a_faang/)
PS: Все точно и лаконично.