«PVS-Studio теперь не нужен» - прям ностальгия :). Только раньше вместо ИИ, фигурировал Clang, динамический анализ, бесплатный Cppcheck и даже блокчейн. Да, да, удивлялись как мы без блокчейна обходимся и пророчили скорое небытие, так как мы не внедряем эту технологию.
Что-то тут всё смешалось. Замена понятий (запуск платного IAR, вместо ИИ) и неверные суждения о MISRA. Нарушения MISRA не могут быть «ложным срабатыванием»: оно либо есть, либо нет. В добавок ГОСТ Р МЭК 61508 и ГОСТ Р ИСО 26262 требуют квалификацию инструментов и подразумевают воспроизводимые результаты проверки.
А вот сам Fable 5 мне весь день исправляет ошибки такие как: гонки задач , распределение приоритетов задач, оптимизация стека, логика автоматов состояний и т.д. и т.п. Не менее десяка проблем логики прикладного кода в день. Словом думайте.
Мысль, которую я уже не раз писал в предыдущих подобных дискуссиях. Если всё теперь так просто и Вы знаете, как делать, чтобы баги находились и исправлялись… то берите и делайте. Заработайте много денег и покажите нам и всем остальным, как надо было. Тем более, с ИИ, это ведь теперь совсем легко, быстро и дешево :) Так чего ждать и тратить время на убеждение других, как прекрасен clangблокчейн ИИ. Стройте корпорацию!
Для сторонних наблюдателей. На вижу смысл вести дискуссию с ботом. Появился в марте и давай AI-ориентированные комментарии строчить. Хоть бы впопад. Тупо приводить какой-то огрызок SIMD оптимизации, когда этот тип оптимизации рассматривается в статье.
Я понимаю (и сам пишу) про вред преждевременной оптимизации. При этом, мы сами не можем позволить себе такой подход, как думаю, как и многие программисты в разных областях. Особенность в том, что суть анализатора — это сотни детекторов. Каждый по отдельности, даже если он медленный, не замедляет скорость в целом. Но вот у нас 100 небыстрых детекторов – и приплыли. Непонятно как оптимизировать. Нет нескольких критических медленных мест, который выявит профайлер. Есть сотня не очень критичных. Вариант – только всё переписывать. Так что писать надо сразу хорошо.
Уверен, что нет. Понятно, что даже если не знаешь, можно понять этот код. Но это требует лишних усилий. Ключевое слово - лишних.
Код показывает, "смотрите как я могу и знаю", но не несёт какой-то пользы (не упрощает чтение, не убыстряет выполнение цикла).
Есть вообще подход уменьшения подмножества языков С и C++ с целью облегчить их понимание и поддержку. Например, отраслевой стандарт ГОСТ Р МЭК 61508 в 7 части рекомендует для высоких уровней полноты безопасности использовать безопасные подмножества языков (такие как MISRA C, C++).
Какой милый баг. Обратите внимание на размер буфера. Мда, интересные времена "безопасного ПО" настают. Простите за едкость комментария, но не удержался, увидев проект автора.
И тут мы возвращаемся к "Дайте посмотреть на нормальный С++ проект, созданный вайб-кодингом" :)
Почему ими не пользуются? В чём неудобство/сложность/затратность?
Ну давайте пожрём и хабр однотипными статьями
Он просто стал слишком большим и на разные темы - Карта сайта PVS-Studio.
«PVS-Studio теперь не нужен» - прям ностальгия :). Только раньше вместо ИИ, фигурировал Clang, динамический анализ, бесплатный Cppcheck и даже блокчейн. Да, да, удивлялись как мы без блокчейна обходимся и пророчили скорое небытие, так как мы не внедряем эту технологию.
Что-то тут всё смешалось. Замена понятий (запуск платного IAR, вместо ИИ) и неверные суждения о MISRA. Нарушения MISRA не могут быть «ложным срабатыванием»: оно либо есть, либо нет. В добавок ГОСТ Р МЭК 61508 и ГОСТ Р ИСО 26262 требуют квалификацию инструментов и подразумевают воспроизводимые результаты проверки.
Мысль, которую я уже не раз писал в предыдущих подобных дискуссиях. Если всё теперь так просто и Вы знаете, как делать, чтобы баги находились и исправлялись… то берите и делайте. Заработайте много денег и покажите нам и всем остальным, как надо было. Тем более, с ИИ, это ведь теперь совсем легко, быстро и дешево :) Так чего ждать и тратить время на убеждение других, как прекрасен
clangблокчейнИИ. Стройте корпорацию!Для сторонних наблюдателей. На вижу смысл вести дискуссию с ботом. Появился в марте и давай AI-ориентированные комментарии строчить. Хоть бы впопад. Тупо приводить какой-то огрызок SIMD оптимизации, когда этот тип оптимизации рассматривается в статье.
Сделал маленьнкую заметку про
enumerate— Элегантность кода благодаря C++23. Ещё раз спасибо за комментарий.Ну да, ну да, видел я это торжество ИИ. Если всё так находится, то что-же не находят и не делают хорошо? Ревью вайб-кода с гнильцой (от Claude Opus), который притворяется оптимизированным С++ кодом.
Вспомнилось: Пивас-студио-капец? Тсс... :)
Вот значит мы молодцы, что быстро :) Ведь проекты разные бывают.
Из статьи "Кратко об итогах испытаний статических анализаторов исходного кода в 2025 году".
Это так не работает. Что значит никому не нужны 100 быстрых детекторов? Анализ должне работать быстро. Анализ и есть эти 100 детекторов.
Разные программисты живут на разных планетах :).
Я понимаю (и сам пишу) про вред преждевременной оптимизации. При этом, мы сами не можем позволить себе такой подход, как думаю, как и многие программисты в разных областях. Особенность в том, что суть анализатора — это сотни детекторов. Каждый по отдельности, даже если он медленный, не замедляет скорость в целом. Но вот у нас 100 небыстрых детекторов – и приплыли. Непонятно как оптимизировать. Нет нескольких критических медленных мест, который выявит профайлер. Есть сотня не очень критичных. Вариант – только всё переписывать. Так что писать надо сразу хорошо.
О! Надо будет ещё один вартант кода написать. Спасибо.
Уверен, что нет. Понятно, что даже если не знаешь, можно понять этот код. Но это требует лишних усилий. Ключевое слово - лишних.
Код показывает, "смотрите как я могу и знаю", но не несёт какой-то пользы (не упрощает чтение, не убыстряет выполнение цикла).
Есть вообще подход уменьшения подмножества языков С и C++ с целью облегчить их понимание и поддержку. Например, отраслевой стандарт ГОСТ Р МЭК 61508 в 7 части рекомендует для высоких уровней полноты безопасности использовать безопасные подмножества языков (такие как MISRA C, C++).
Понял. Но по мне лучше смотрится
auto sz : std::ranges::views::reverse(sizes)Дело вкуса :)Про
rbeginиrendя не понял. Там ведь два контейнера. Прошу показать, какой код должен получиться.По поводу
i-- > 0я против таких конструкций: Вредный совет N30. Необычные конструкции.Тут ничего не покажет. Но проблематика багов и безопасности никуда не делась: Что скрывает код: от поверхности атаки до производительности. Первый вебинар серии “Качество и безопасность ПО в эпоху GenAI”.
Непонятно, ударил ли вообще, или наоборот добавит клиентов в перспективе.
Я так понимаю, речь идёт об этом проекте OS. Ну что же, автору предстоит узнать ещё много о языке С. Например, что такое выход за границу буфера.
Какой милый баг. Обратите внимание на размер буфера. Мда, интересные времена "безопасного ПО" настают. Простите за едкость комментария, но не удержался, увидев проект автора.
P.S. Приходите узнать про нормальную разработку безопасного, надёжного ПО.