Всем привет!
Для далекой канадской компании - разработчика лучшего в мире графического редактора, важны русские платящие пользователи: https://habr.com/ru/news/738514/
А для компании - разработчика лучшей в мире IDE, имеющей русские корни, увы, нет(((
#IDEA
Для далекой канадской компании - разработчика лучшего в мире графического редактора, важны русские платящие пользователи: https://habr.com/ru/news/738514/
А для компании - разработчика лучшей в мире IDE, имеющей русские корни, увы, нет(((
#IDEA
Хабр
Adobe решила бесплатно продлевать российским пользователям-физлицам лицензии, купленные через официальный магазин
image Американская компания Adobe решила бесплатно продлевать лицензии российским пользователям-физлицам, которые ранее купили доступ к ПО через официальный интернет-магазин. «У пользовательских...
Всем привет.
Вопрос знатокам IDEA - что это за фича? Я знаю есть quick fix - и у некоторых из них есть опция - исправить во всем файле. Но тут я даже ничего не сделал) Т.е. IDEA сама нашла нужный enum и сделала import.
P.S. За пыль на экране извиняюсь)
#idea
Вопрос знатокам IDEA - что это за фича? Я знаю есть quick fix - и у некоторых из них есть опция - исправить во всем файле. Но тут я даже ничего не сделал) Т.е. IDEA сама нашла нужный enum и сделала import.
P.S. За пыль на экране извиняюсь)
#idea
Всем привет!
В продолжение темы функциональности IDEA и подготовки кода к code review, см. https://t.me/javaKotlinDevOps/148
Некоторые проверки и исправления можно подвесить на одно из двух событий:
1) на сохранение файла: Alt-Alt - Actions on Save. Рекомендую включить Reformat code и Optimize import.
2) перед commit на Git сервер - открыть окно Commit (Ctrl-K) и нажать там шестеренку. Рекомендую включить Analyze code, Check TODO и если выполнение тестов занимает приемлемое время - то еще и прогон тестов.
Легко заметить, что набор опций в обоих случаях похож, но на сохранении можно включить только те, где фиксы применяются без участия человека. В частности и Cleanup, и Analyze выполняют правила из набора инспекций (Inspections), только в первом случае включаются только те правила, где есть quick fixes, которые можно применить автоматически.
Насчет Cleanup - IMHO его вполне можно включить на commit, главное перепроверить набор активных правил: Shift-Shift - Inspections, а там включить фильтр Cleanup only. К слову - там еще есть профили с набором правил, можно добавить свой.
И еще важный момент - инспекции из IDEA можно запустить из командной строки, и т.об. включить в CI процесс: https://www.jetbrains.com/help/idea/command-line-code-inspector.html
Они частично повторяют проверки SonarQube, но не идентичны им.
#idea #code_review #clean_code #git
В продолжение темы функциональности IDEA и подготовки кода к code review, см. https://t.me/javaKotlinDevOps/148
Некоторые проверки и исправления можно подвесить на одно из двух событий:
1) на сохранение файла: Alt-Alt - Actions on Save. Рекомендую включить Reformat code и Optimize import.
2) перед commit на Git сервер - открыть окно Commit (Ctrl-K) и нажать там шестеренку. Рекомендую включить Analyze code, Check TODO и если выполнение тестов занимает приемлемое время - то еще и прогон тестов.
Легко заметить, что набор опций в обоих случаях похож, но на сохранении можно включить только те, где фиксы применяются без участия человека. В частности и Cleanup, и Analyze выполняют правила из набора инспекций (Inspections), только в первом случае включаются только те правила, где есть quick fixes, которые можно применить автоматически.
Насчет Cleanup - IMHO его вполне можно включить на commit, главное перепроверить набор активных правил: Shift-Shift - Inspections, а там включить фильтр Cleanup only. К слову - там еще есть профили с набором правил, можно добавить свой.
И еще важный момент - инспекции из IDEA можно запустить из командной строки, и т.об. включить в CI процесс: https://www.jetbrains.com/help/idea/command-line-code-inspector.html
Они частично повторяют проверки SonarQube, но не идентичны им.
#idea #code_review #clean_code #git
Telegram
(java || kotlin) && devOps
Всем привет!
Теперь перейдем к рекомендациям для авторов Pull Request (PR), они же Merge Request.
1) не нужно тратить время ревьювера на то, что могут сделать роботы) Я про чистку import и форматирование кода. Рекомендую поставить эти действия на автовыполнение…
Теперь перейдем к рекомендациям для авторов Pull Request (PR), они же Merge Request.
1) не нужно тратить время ревьювера на то, что могут сделать роботы) Я про чистку import и форматирование кода. Рекомендую поставить эти действия на автовыполнение…
Всем привет!
Недавно вышла новая версия IDEA - 2024.1. В новой версии появилось много "вкусного", вот что я бы отметил:
1) если раньше аналог Copylot (Gigacode) был доступен только по отдельной подписке, и при этом сильно уступал Copylot, то сейчас в Ultimate появился "бесплатный" AutoCompletion. Проверил: в моем случае, предлагает компилируемый код, но требующий правок) Вообще вижу тенденцию, что часть изначально платных LLM инструментов становятся бесплатными - ChatGPT4, IDEA AI. В случае Microsoft - они просто делятся машинным временем для популяризации инструмента, в случае IDEA - работает локальная модель, которой как контекст подается код открытого проекта.
2) IntelliJ в курсе проблемы долгой инициализации проекта... ремарка - еще бы они не были в курсе, такое сложно не заметить) ... и сделала доступной ряд фич IDE во время инициализации. Плюс сейчас происходит быстрый парсинг maven pom, и на основе полученной информации становится доступной навигация по проекту пока идет индексация.
3) ряд улучшений по работе с логами:
- AutoCompletion кода для инициализации логгера, если в классе ее еще нет
- как альтернатива возможна автогенерация этого кода
- парсинг логов на предмет наличия там классов проекта.
Что я бы отдельно отметил на примере этой и предыдущей фичи - комплексный подход. Берем все (заведенные тикеты), что можем улучшить по теме - и улучшаем)
4) новая консоль. Главные фичи - снова AutoCompletion и разбиение единого полотна текста на команды, что облегчает их копирование. В будущем обещают улучшение AutoCompletion и даже подсказки по ошибкам. Видимо с использованием LLM. Жаль, пока работает только на bash и PowerShell, но думаю тоже доделают.
5) sticky режим при прокрутке больших файлов. Т.е. всегда видны декларация класса и текущего метода каким бы большим не был метод. Число видимых строк настраивается. Напомнило мне "хлебные крошки" на сайтах. Большие классы и методы конечно же зло, но это зло существует)
6) куча улучшение по работе с Pull request - можно ревьювить их в IDEA, в т.ч. смотреть diff, писать комментарии, смотреть статус prCheck и даже ставить лайки) К сожалению только GitHub и GitLab.
7) для самого частого рефакторинга - переименование - сделали inline режим: не надо вызывать команду по шорткату или меню - просто переименовываешь сущность, а IDEA сама предложит переименовать ее по всему проекту
8) появилась поддержка OpenRewrite - фреймворка для написания рефакторингов, если встроенные не устраивают. https://t.me/javaKotlinDevOps/116 Правильный подход, я считаю
9) и наконец на первый взгляд незаметная фича - альфа тестирование нового компилятора Kotlin K2. Казалось бы - ну и ладно, заменили компилятор, при чем тут IDE. А штука в том, что ребята специально переписали свой компилятор, чтобы его удобнее было использовать для фич IDEA - сделать то, что раньше не получалось и ускорить работу IDE. Т.е во-первых, интересен тот факт, что для подсветки синтаксиса, AutoCompletion и т.д используется компилятор, а во-вторых - удобно быть и разработчиком IDE, и разработчиком языка) Более этого, это было одной из причин разработки этого языка - https://t.me/javaKotlinDevOps/38
Вот пожалуй и все, что запомнилось.
#idea #kotlin
Недавно вышла новая версия IDEA - 2024.1. В новой версии появилось много "вкусного", вот что я бы отметил:
1) если раньше аналог Copylot (Gigacode) был доступен только по отдельной подписке, и при этом сильно уступал Copylot, то сейчас в Ultimate появился "бесплатный" AutoCompletion. Проверил: в моем случае, предлагает компилируемый код, но требующий правок) Вообще вижу тенденцию, что часть изначально платных LLM инструментов становятся бесплатными - ChatGPT4, IDEA AI. В случае Microsoft - они просто делятся машинным временем для популяризации инструмента, в случае IDEA - работает локальная модель, которой как контекст подается код открытого проекта.
2) IntelliJ в курсе проблемы долгой инициализации проекта... ремарка - еще бы они не были в курсе, такое сложно не заметить) ... и сделала доступной ряд фич IDE во время инициализации. Плюс сейчас происходит быстрый парсинг maven pom, и на основе полученной информации становится доступной навигация по проекту пока идет индексация.
3) ряд улучшений по работе с логами:
- AutoCompletion кода для инициализации логгера, если в классе ее еще нет
- как альтернатива возможна автогенерация этого кода
- парсинг логов на предмет наличия там классов проекта.
Что я бы отдельно отметил на примере этой и предыдущей фичи - комплексный подход. Берем все (заведенные тикеты), что можем улучшить по теме - и улучшаем)
4) новая консоль. Главные фичи - снова AutoCompletion и разбиение единого полотна текста на команды, что облегчает их копирование. В будущем обещают улучшение AutoCompletion и даже подсказки по ошибкам. Видимо с использованием LLM. Жаль, пока работает только на bash и PowerShell, но думаю тоже доделают.
5) sticky режим при прокрутке больших файлов. Т.е. всегда видны декларация класса и текущего метода каким бы большим не был метод. Число видимых строк настраивается. Напомнило мне "хлебные крошки" на сайтах. Большие классы и методы конечно же зло, но это зло существует)
6) куча улучшение по работе с Pull request - можно ревьювить их в IDEA, в т.ч. смотреть diff, писать комментарии, смотреть статус prCheck и даже ставить лайки) К сожалению только GitHub и GitLab.
7) для самого частого рефакторинга - переименование - сделали inline режим: не надо вызывать команду по шорткату или меню - просто переименовываешь сущность, а IDEA сама предложит переименовать ее по всему проекту
8) появилась поддержка OpenRewrite - фреймворка для написания рефакторингов, если встроенные не устраивают. https://t.me/javaKotlinDevOps/116 Правильный подход, я считаю
9) и наконец на первый взгляд незаметная фича - альфа тестирование нового компилятора Kotlin K2. Казалось бы - ну и ладно, заменили компилятор, при чем тут IDE. А штука в том, что ребята специально переписали свой компилятор, чтобы его удобнее было использовать для фич IDEA - сделать то, что раньше не получалось и ускорить работу IDE. Т.е во-первых, интересен тот факт, что для подсветки синтаксиса, AutoCompletion и т.д используется компилятор, а во-вторых - удобно быть и разработчиком IDE, и разработчиком языка) Более этого, это было одной из причин разработки этого языка - https://t.me/javaKotlinDevOps/38
Вот пожалуй и все, что запомнилось.
#idea #kotlin
Telegram
(java || kotlin) && devOps
Всем привет!
Иногда проект нужно мигрировать - перейти на новую версию платформы, фреймворк, новый формат конфигов. Для преобразований XML есть XSLT. Для JSON - целый зоопарк тулов - https://stackoverflow.com/questions/1618038/xslt-equivalent-for-json
А…
Иногда проект нужно мигрировать - перейти на новую версию платформы, фреймворк, новый формат конфигов. Для преобразований XML есть XSLT. Для JSON - целый зоопарк тулов - https://stackoverflow.com/questions/1618038/xslt-equivalent-for-json
А…
Всем привет!
Есть такая отличная IDE для Java и Kotlin - IntelliJ IDEA.
Лучшая если быть точным)
И у нее есть 2 версии: Community и Ultimate.
Отличия можно посмотреть тут https://www.jetbrains.com/products/compare/?product=idea&product=idea-ce
Плохая новость в том, что IntelliJ, к сожалению, забила на российских разработчиков. Если Community можно скачать без VPN
// а) пока можно б) VPN понадобится для обновления плагинов)
то купить Ultimate сложнее.
Небольшое отступление - даже если вас устраивает Community - рекомендую прочитать пост и походить по ссылкам, найдете полезные плагины.
Так вот, если смотреть на отличия двух версий IDEA - бросаются в глаза следующие полезные штуки:
1) поддержка Spring
2) поддержка JPA
3) Database Tools
4) HTTP Client
5) поддержка Kubernetes
6) Java applications servers
7) Profiling tools
Что тут можно сделать?
-1) сидеть на perpetual лицензии. Плохо, не доступны новые версии Java и фиксы
0) даунгрейд до Community - возможно кому-то подойдет, но есть варианты лучше
1) найти правильную карту или человека с правильной картой и надеяться, что вас не заблокируют - https://t.me/spring_aio/245. Так себе идея, как по мне.
2) использовать, скажем так, альтернативные способы получения лицензии. Еще пару лет назад никогда бы не порекомендовал такой способ, но в данном конкретном случае, учитывая пренебрежение к разработчикам своей страны - да, можно)
3) в качестве замены IDEA Ultimate Сбер разрабатывает GigaIDE Desktop. Важное слово здесь - разрабатывает.
Что это за зверь такой - если кратко: IDEA Community + open source плагины + предустановленный AI ассистент GigaCode. Подробнее можно почитать тут https://habr.com/ru/companies/haulmont/articles/828828/ Статья еще полезна тем, что можно подсмотреть полезные плагины, которые предустановлены в GigaIDE.
Обращает внимание нормальная альтернатива Database Tools и отсутствие альтернатив для остальных пунктов. Самая больная часть - Spring. Разработка плагина от Сбера идет, результат на данный момент неизвестен.
4) собрать свою IDEA на основе Community или GigaIDE. И тут у нас есть хорошая альтернатива Spring и JPA плагину - Amplicode. Это новый плагин от Haulmont, авторов JPA Buddy - плагина для работы с JPA+Liquibase+Flyway. Amplicode насколько я могу судить включает в себя функционал JPA Buddy. Детальнее про Amplicode можно почитать тут https://habr.com/ru/companies/haulmont/articles/814207/ или посмотреть видосы тут https://vk.com/video/playlist/-222549074_1 А вот тут независимые от разработчиков Amplicode ребята провели сравнение поддержки Spring в Ultimate и Amplicode https://habr.com/ru/companies/spring_aio/articles/854062/
Они примерно равны, со своими сильными и слабыми сторонами. Лично мне Amplicode даже больше понравился. Разве что встроенного аналога start.spring.io не хватает, но в конце концов есть собственно https://start.spring.io. В общем настоятельно рекомендую установить Amplicode даже если у вас Ultimate. Предварительно посмотрев обучающие материалы по ссылке выше)
5) хардкор - собрать свою IDEA из исходников, вот инструкция https://habr.com/ru/companies/spring_aio/articles/852526/ Как по мне - особой необходимости нет. Пока Community Edition останется Open Source - я бы не беспокоился. Вряд ли в open source продукт вкорячат блокировку по IP) И вряд ли перестанут работать все VPN, включая настроенные самостоятельно.
P.S. Что касается остальных инструментов из Community - если знаете альтернативы - добро пожаловать в комментарии.
Или возможно я забыл что еще важное?
#ide #idea
Есть такая отличная IDE для Java и Kotlin - IntelliJ IDEA.
Лучшая если быть точным)
И у нее есть 2 версии: Community и Ultimate.
Отличия можно посмотреть тут https://www.jetbrains.com/products/compare/?product=idea&product=idea-ce
Плохая новость в том, что IntelliJ, к сожалению, забила на российских разработчиков. Если Community можно скачать без VPN
// а) пока можно б) VPN понадобится для обновления плагинов)
то купить Ultimate сложнее.
Небольшое отступление - даже если вас устраивает Community - рекомендую прочитать пост и походить по ссылкам, найдете полезные плагины.
Так вот, если смотреть на отличия двух версий IDEA - бросаются в глаза следующие полезные штуки:
1) поддержка Spring
2) поддержка JPA
3) Database Tools
4) HTTP Client
5) поддержка Kubernetes
6) Java applications servers
7) Profiling tools
Что тут можно сделать?
-1) сидеть на perpetual лицензии. Плохо, не доступны новые версии Java и фиксы
0) даунгрейд до Community - возможно кому-то подойдет, но есть варианты лучше
1) найти правильную карту или человека с правильной картой и надеяться, что вас не заблокируют - https://t.me/spring_aio/245. Так себе идея, как по мне.
2) использовать, скажем так, альтернативные способы получения лицензии. Еще пару лет назад никогда бы не порекомендовал такой способ, но в данном конкретном случае, учитывая пренебрежение к разработчикам своей страны - да, можно)
3) в качестве замены IDEA Ultimate Сбер разрабатывает GigaIDE Desktop. Важное слово здесь - разрабатывает.
Что это за зверь такой - если кратко: IDEA Community + open source плагины + предустановленный AI ассистент GigaCode. Подробнее можно почитать тут https://habr.com/ru/companies/haulmont/articles/828828/ Статья еще полезна тем, что можно подсмотреть полезные плагины, которые предустановлены в GigaIDE.
Обращает внимание нормальная альтернатива Database Tools и отсутствие альтернатив для остальных пунктов. Самая больная часть - Spring. Разработка плагина от Сбера идет, результат на данный момент неизвестен.
4) собрать свою IDEA на основе Community или GigaIDE. И тут у нас есть хорошая альтернатива Spring и JPA плагину - Amplicode. Это новый плагин от Haulmont, авторов JPA Buddy - плагина для работы с JPA+Liquibase+Flyway. Amplicode насколько я могу судить включает в себя функционал JPA Buddy. Детальнее про Amplicode можно почитать тут https://habr.com/ru/companies/haulmont/articles/814207/ или посмотреть видосы тут https://vk.com/video/playlist/-222549074_1 А вот тут независимые от разработчиков Amplicode ребята провели сравнение поддержки Spring в Ultimate и Amplicode https://habr.com/ru/companies/spring_aio/articles/854062/
Они примерно равны, со своими сильными и слабыми сторонами. Лично мне Amplicode даже больше понравился. Разве что встроенного аналога start.spring.io не хватает, но в конце концов есть собственно https://start.spring.io. В общем настоятельно рекомендую установить Amplicode даже если у вас Ultimate. Предварительно посмотрев обучающие материалы по ссылке выше)
5) хардкор - собрать свою IDEA из исходников, вот инструкция https://habr.com/ru/companies/spring_aio/articles/852526/ Как по мне - особой необходимости нет. Пока Community Edition останется Open Source - я бы не беспокоился. Вряд ли в open source продукт вкорячат блокировку по IP) И вряд ли перестанут работать все VPN, включая настроенные самостоятельно.
P.S. Что касается остальных инструментов из Community - если знаете альтернативы - добро пожаловать в комментарии.
Или возможно я забыл что еще важное?
#ide #idea
JetBrains
JetBrains Products Comparison
Всем привет.
В дополнение к предыдущему посту - ещё один способ получить IDEA Ultimate в России.
6) участие в программе EAP - Early Access Program. https://www.jetbrains.com/idea/nextversion
За подсказку спасибо @poeticpragmatic
Особенности:
а) критичные баги не замечены
б) имеет смысл автоматизировать накат новой версии скриптом с сохранением предыдущей для возможности отката. Если критичные баги все же появятся)
Не заблокируют ли этот вариант - да кто его знает)
#ide #idea
В дополнение к предыдущему посту - ещё один способ получить IDEA Ultimate в России.
6) участие в программе EAP - Early Access Program. https://www.jetbrains.com/idea/nextversion
За подсказку спасибо @poeticpragmatic
Особенности:
а) критичные баги не замечены
б) имеет смысл автоматизировать накат новой версии скриптом с сохранением предыдущей для возможности отката. Если критичные баги все же появятся)
Не заблокируют ли этот вариант - да кто его знает)
#ide #idea
JetBrains
Early Access Program (EAP) - IntelliJ IDEA
Code-centric IDE, focused on your productivity. Full Java EE support, deep code understanding, best debugger, refactorings, everything right out of the box...
Всем привет!
И ещё пару мыслей по развитию 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 в России.
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
The JetBrains Blog
IntelliJ IDEA — IDE, которая понимает код | Блог JetBrains
Николай Чашников рассказывает о разных сторонах IntelliJ 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
Небольшое развитие поста про выбор альтернативы 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
amplicode.ru
Инструменты разработки веб-приложений | Amplicode
Современные инструменты разработки веб-приложений и сервисов на Spring Boot: надежные инструменты для разработчиков
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
Меня сложно чем-то удивить в области разработки. Но недавно, изучая разные 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
Wikipedia
Indentation style
computer programming convention
Пару заметок про 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
Изучая тему статического анализа кода зашел на сайт 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
Sonarsource
Connected Mode - SonarQube for IDE Documentation - IntelliJ
Using Connected Mode in SonarQube for IDE completes the Sonar Solution to make the most of your analyses.