PVS-Studio: поиск ошибок в коде
1.84K subscribers
1.67K photos
91 videos
2 files
1.66K links
Статический анализатор на страже качества, защищённости (SAST) и безопасности кода.

Наш стек: C, C++, C#, Java, JS, TS, Go

Сайт: https://pvs-studio.ru/

E-Mail: support@viva64.com
Телефон: +7(903)844-02-22

Для бизнеса: https://xn--r1a.website/pvsstudio_business
Download Telegram
При сборке Java приложения в нативный образ требуются настройки для работы рефлексии, прокси и других динамических механизмов Java. Зачем, если JVM справлялась с этим сама? Разбираем отличия между миром статической компиляции и динамической Java.

Все подробности по ссылке 🔗

#статья #java
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Джависты, задачка для вас! Наш анализатор в этом фрагменте кода из проекта LanguageTool нашел ошибку. Сможете ли вы? 🧐

private String removeOldDiacritics(String s) {
return s
.replace("contrapèl", "contrapel")
.replace("Contrapèl", "Contrapel")
.replace("vés", "ves")
.replace("féu", "feu")
.replace("desféu", "desfeu")
.replace("adéu", "adeu")
.replace("dóna", "dona")
.replace("dónes", "dones")
.replace("sóc", "soc")
.replace("vénen", "venen")
.replace("véns", "véns")
.replace("fóra", "fora")
.replace("Vés", "Ves")
.replace("Féu", "Feu")
.replace("Desféu", "Desfeu")
.replace("Adéu", "Adeu")
.replace("Dóna", "Dona")
.replace("Dónes", "Dones")
.replace("Sóc", "Soc")
.replace("Vénen", "Venen")
.replace("Véns", "Vens")
.replace("Fóra", "Fora");
}


Ответ и другие интересные ошибки из проекта можно найти по ссылке 🔗

#java #ошибка
Please open Telegram to view this post
VIEW IN TELEGRAM
PVS-Studio: поиск ошибок в коде
А еще предлагаем потихоньку планировать конец месяца 😏 Мы, например, готовим два новых вебинара! И приглашаем вас присоединиться! 1️⃣ Онбординг 2026 Как быстро и безболезненно включать новых сотрудников в работу? Что действительно работает в онбординге…
А мы еще один цикл вебинаров готовим! 🔥

Тема: "Современный Gradle для Java-разработчика: один модуль — хорошо, несколько — лучше"

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

🗓 29 апреля в 13:30

Ссылка на регистрацию 🔗

#вебинар #java
Please open Telegram to view this post
VIEW IN TELEGRAM
32
⚡️Вышла уже 26 версия Java. В этом релизе реализовали множество фич, направленных на оптимизацию выполнения Java приложений, а также в нём отказались от поддержки апплетов.

Обо всех этих и других нововведениях расскажем в статье 🔗

#статья #java
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Друзья, рады поделиться записью первого вебинара из цикла "Современный Gradle для Java-разработчика" 🔥

В первом вебинаре Егор Пиший, Java-разработчик в PVS-Studio, рассказал, зачем в современных проектах нужны модули и как они помогают масштабировать кодовую базу без хаоса.

Посмотреть вебинар можно тут:
- наш сайт
- VK Video
- Rutube
- YouTube

Зарегистрироваться на цикл можно по этой ссылке 🔗

#java #вебинар
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Фрагмент кода одного из самого большого Open Source проекта на JavaElasticsearch. Попробуйте найти ошибку 😉

#java #ошибка
Please open Telegram to view this post
VIEW IN TELEGRAM
Gradle активно развивается, и вместе с ним появляются удобные инструменты: Version Catalog, Convention Plugins, улучшенная агрегация отчётов. В новом цикле вебинаров разберём, как ими пользоваться в реальном мультимодульном проекте. На каждой встрече берём задачу и разбираем её вживую в терминале и редакторе. К концу цикла постепенно вырастает цельный проект на актуальном стеке, который можно использовать как шаблон для новых проектов.

Мы уже провели ознакомительный вебинар, на котором подробнее рассказали, что вас ждет. Посмотреть можно тут 👈🏻

А уже 4 июня в 14:00 будем обсуждать границы зависимостей в Gradle 🗓

Зарегистрироваться на цикл можно по этой ссылке 🔗

#java #gradle #вебинар
Please open Telegram to view this post
VIEW IN TELEGRAM
4
This media is not supported in your browser
VIEW IN TELEGRAM
Уже скоро новый вебинар из цикла "Современный Gradle для Java-разработчика"! 🔥

Мы уже провели ознакомительный вебинар, на котором подробнее рассказали, что вас ждет. Посмотреть можно тут.

🗓 4 июня в 14:00 мы обсудим:

- Почему один модуль видит зависимости другого, а другой нет?
- Когда использовать api, а когда implementation?
- И почему неправильный выбор конфигурации приводит к утечке зависимостей, конфликтам версий и хаосу в проекте?

Регистрация доступна по ссылке 🔗

#java #gradle #вебинар
Please open Telegram to view this post
VIEW IN TELEGRAM
5
Ошибка из проекта Custom NPC+. Сможете отыскать?

#java #ошибка
Продолжаем цикл вебинаров, посвященных современному Gradle для Java-разработчика 🔥

Когда версии разбросаны по модулям, один апгрейд библиотеки превращается в ручную правку в десяти местах с риском рассинхрона. Решаем эту проблему через gradle/libs.versions.toml: переносим все версии в одно место и получаем типобезопасные аксессоры libs.* с автодополнением в IDE. Разбираем BOM как способ зафиксировать согласованные версии целого набора библиотек одним алиасом.

🗓11 июня в 14:00

Регистрация доступна по ссылке 🔗

#вебинар #java #gradle
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Проверили Elasticsearch и нашли ошибку. Сможете отыскать ее в этом фрагменте?

#java #ошибка
Продолжаем цикл вебинаров, посвященных современному Gradle для Java-разработчика 🔥

Тема: "Тесты прошли. Теперь собираем это в один отчёт"

Когда в проекте несколько модулей, каждый пишет отчёты тестов и покрытия независимо, и общую картину собрать вручную неудобно. Подключаем test-report-aggregation и jacoco-report-aggregation. Получаем единый HTML-отчёт тестов и единый JaCoCo-отчёт по всем модулям. Дополнительно ставим минимальный порог покрытия через JacocoCoverageVerification.

🗓 25 июня в 14:00

Регистрация доступна по ссылке 🔗

#вебинар #gradle #java
Please open Telegram to view this post
VIEW IN TELEGRAM
5
Проверили Elasticsearch и нашли ошибку. Сможете отыскать ее в этом фрагменте?

#java #ошибка