(java || kotlin) && devOps
369 subscribers
6 photos
1 video
6 files
307 links
Полезное про Java и Kotlin - фреймворки, паттерны, тесты, тонкости JVM. Немного архитектуры. И DevOps, куда без него
Download Telegram
Всем привет.

В дополнение к предыдущему посту - ещё один способ получить IDEA Ultimate в России.

6) участие в программе EAP - Early Access Program. https://www.jetbrains.com/idea/nextversion
За подсказку спасибо @poeticpragmatic
Особенности:
а) критичные баги не замечены
б) имеет смысл автоматизировать накат новой версии скриптом с сохранением предыдущей для возможности отката. Если критичные баги все же появятся)

Не заблокируют ли этот вариант - да кто его знает)

#ide #idea
Всем привет!

И ещё пару мыслей по развитию IDEA в России.

1) кажется, что со стороны Сбера было бы разумнее использовать готовый сильный продукт в виде Amplicode, чем в спешном порядке делать свой Spring плагин. Даже с учётом потенциальной монетизации Amplicode.

2) Haulmont активно развивается. Вначале JPA Buddy, теперь Amplicode, включающий его функционал. Что дальше?
IDEA, к слову, начинала с 2 плагинов к Borland JBuilder https://blog.jetbrains.com/ru/team/2013/02/28/nikolaj-chashnikov-intellij-idea-ide-kotoraya-ponimaet-kod/

Да, эти два пути противоречат друг другу. Да и российский рынок не выдержит 2 IDE) Их в мире по большому счёту три.

#ide #idea
Всем привет!

Небольшое развитие поста про выбор альтернативы IDEA Ultimate.
В посте особое внимание по понятным причинам было обращено на поддержку Spring.
Так вот, благодаря комментариям выяснилось, что в России пилится 3 плагина для Spring:

1) Amplicode https://amplicode.ru/
2) Sber\Giga - назовем его так, т.к. его еще никто не видел
3) Explyt https://github.com/explyt/spring-plugin/wiki/Videos

Последний я изучил по видосам - выглядит неплохо как плагин чисто для Spring. А Amplicode вырывается вперед благодаря поддержке JPA, Liquibase, MapStruct, Docker....

Конкуренция, однако. Вот что импортозамещение делает) Будем наблюдать.

За наводку на Explyt спасибо @alex_inozemtsev

#idea #spring
code style бывает разный

Меня сложно чем-то удивить в области разработки. Но недавно, изучая разные code style, я решил посмотреть, какие бывают варианты расположения фигурной скобки. Изначально в моём понимании их два - на одной строке с управляющей конструкцией и с новой строки. Но жизнь оказалась богаче любых ожиданий:
https://en.m.wikipedia.org/wiki/Indentation_style
Девять! Девять, Карл!

Хотя в Java наиболее распространён один, пришедший из C, от Кернигана и Ричи.

Вывод будет такой. Не важно сколько разных code style существует, важно, чтобы в проекте использовался один. А это значит .editorconfig https://editorconfig.org/ и автоматическое форматирование в Actions on Save в IDEA.

#code_style #idea
Пару заметок про SonarQube

Изучая тему статического анализа кода зашел на сайт SonarQube и отметил для себя две новые фичи.

1) SonarQube может полноценно работать локально, в IDE, без сервера. Работа с сервером называется сonnected mode https://docs.sonarsource.com/sonarqube-for-ide/intellij/team-features/connected-mode/ Соответственно, есть еще и not connected mode, он же локальный режим.
Отличаются они списком поддерживаемых языков и правил https://docs.sonarsource.com/sonarqube-for-ide/intellij/using/rules/ Java и Kotlin поддерживаются в локальном режиме. Для connected режима фичей, естественно, больше. В частности добавляются проверки, связанные с безопасностью. То ли с сервера подтягивается динамический список уязвимостей, то ли безопасность = enterprise, а значит пусть платят) Плюс появляется возможность централизованного управления Quality Profile и Quality Gate, статистика, историчность сканирования и работа с false positive багами. Что важно - SonarQube Server есть в Open Source варианте

2) В сonnected режиме доступна фича AI CodeFix https://docs.sonarsource.com/sonarqube-for-ide/intellij/using/ai-capabilities Это фиксы, предлагаемые плагином SonarQube в IDEA. Работают для примерно 120 из 700 существующих проверок в Java. Kotlin пока не поддерживается, но думаю скоро добавят. Из очевидного - фича доступна только в платной версии. Если подумать - фича прямо напрашивалась. Сам ее пока не пробовал, и поэтому возникает два вопроса:
а) всегда ли будет компилироваться код после применения фикса?
б) по AI фиксы нужны только там, где детерминированная логика не работает. А зачем он, например, вот тут https://rules.sonarsource.com/java/RSPEC-1612/ ?

#ai #idea #static_analysis