Pull to refresh
64K+
640
Андрей Карпов@Andrey2008

Директор по развитию бизнеса

98,9
Rating
378
Subscribers
Send message

Почему ими не пользуются? В чём неудобство/сложность/затратность?

Он просто стал слишком большим и на разные темы - Карта сайта PVS-Studio.

«PVS-Studio теперь не нужен» - прям ностальгия :). Только раньше вместо ИИ, фигурировал Clang, динамический анализ, бесплатный Cppcheck и даже блокчейн. Да, да, удивлялись как мы без блокчейна обходимся и пророчили скорое небытие, так как мы не внедряем эту технологию.

Что-то тут всё смешалось. Замена понятий (запуск платного IAR, вместо ИИ) и неверные суждения о MISRA. Нарушения MISRA не могут быть «ложным срабатыванием»: оно либо есть, либо нет. В добавок ГОСТ Р МЭК 61508 и ГОСТ Р ИСО 26262 требуют квалификацию инструментов и подразумевают воспроизводимые результаты проверки.

А вот сам Fable 5 мне весь день исправляет ошибки такие как: гонки задач , распределение приоритетов задач, оптимизация стека, логика автоматов состояний и т.д. и т.п. Не менее десяка проблем логики прикладного кода в день. Словом думайте.

Мысль, которую я уже не раз писал в предыдущих подобных дискуссиях. Если всё теперь так просто и Вы знаете, как делать, чтобы баги находились и исправлялись… то берите и делайте. Заработайте много денег и покажите нам и всем остальным, как надо было. Тем более, с ИИ, это ведь теперь совсем легко, быстро и дешево :) Так чего ждать и тратить время на убеждение других, как прекрасен clang блокчейн ИИ. Стройте корпорацию!

Для сторонних наблюдателей. На вижу смысл вести дискуссию с ботом. Появился в марте и давай AI-ориентированные комментарии строчить. Хоть бы впопад. Тупо приводить какой-то огрызок SIMD оптимизации, когда этот тип оптимизации рассматривается в статье.

Сделал маленьнкую заметку про enumerateЭлегантность кода благодаря C++23. Ещё раз спасибо за комментарий.

Ну да, ну да, видел я это торжество ИИ. Если всё так находится, то что-же не находят и не делают хорошо? Ревью вайб-кода с гнильцой (от Claude Opus), который притворяется оптимизированным С++ кодом.

Вот значит мы молодцы, что быстро :) Ведь проекты разные бывают.

Рисунок N1 — 13-й слайд презентации “Итоги испытаний” (файл 10_SA_ponomarev_end.pdf).
Рисунок N1 — 13-й слайд презентации “Итоги испытаний” (файл 10_SA_ponomarev_end.pdf).

Из статьи "Кратко об итогах испытаний статических анализаторов исходного кода в 2025 году".

Это так не работает. Что значит никому не нужны 100 быстрых детекторов? Анализ должне работать быстро. Анализ и есть эти 100 детекторов.

Разные программисты живут на разных планетах :).

Я понимаю (и сам пишу) про вред преждевременной оптимизации. При этом, мы сами не можем позволить себе такой подход, как думаю, как и многие программисты в разных областях. Особенность в том, что суть анализатора — это сотни детекторов. Каждый по отдельности, даже если он медленный, не замедляет скорость в целом. Но вот у нас 100 небыстрых детекторов – и приплыли. Непонятно как оптимизировать. Нет нескольких критических медленных мест, который выявит профайлер. Есть сотня не очень критичных. Вариант – только всё переписывать. Так что писать надо сразу хорошо.

О! Надо будет ещё один вартант кода написать. Спасибо.

Уверен, что нет. Понятно, что даже если не знаешь, можно понять этот код. Но это требует лишних усилий. Ключевое слово - лишних.

Код показывает, "смотрите как я могу и знаю", но не несёт какой-то пользы (не упрощает чтение, не убыстряет выполнение цикла).

Есть вообще подход уменьшения подмножества языков С и C++ с целью облегчить их понимание и поддержку. Например, отраслевой стандарт ГОСТ Р МЭК 61508 в 7 части рекомендует для высоких уровней полноты безопасности использовать безопасные подмножества языков (такие как MISRA C, C++).

Понял. Но по мне лучше смотрится auto sz : std::ranges::views::reverse(sizes) Дело вкуса :)

Про rbegin и rend я не понял. Там ведь два контейнера. Прошу показать, какой код должен получиться.

По поводу i-- > 0 я против таких конструкций: Вредный совет N30. Необычные конструкции.

Непонятно, ударил ли вообще, или наоборот добавит клиентов в перспективе.

uint64_t kstrncmp(char *str1, char *str2, uint64_t len){
    uint64_t index_str = 0;
    uint64_t different_char = 0;
    while (index_str < len) {
        if (str1[index_str] != str2[index_str]) {
            different_char++;
        }
        index_str++;
    }
    return different_char;
}

Я так понимаю, речь идёт об этом проекте OS. Ну что же, автору предстоит узнать ещё много о языке С. Например, что такое выход за границу буфера.

void terminal_write_hex(uint64_t hex_num) {
    uint64_t index_buffer = 0;
    char buffer[sizeof(uint64_t)];
    if (hex_num == 0x0) {
        terminal_write("0x0");
        return;
    }
    terminal_write("0x");
    while (hex_num > 0) {
        uint64_t digit = hex_num % 16;
        if (digit >= 10) {
            digit = digit - 10;
            buffer[index_buffer] = 'A'+digit;
        }else {
            buffer[index_buffer] = '0' + digit;
        }
        hex_num = hex_num / 16;
        index_buffer++;
    }
  .....

Какой милый баг. Обратите внимание на размер буфера. Мда, интересные времена "безопасного ПО" настают. Простите за едкость комментария, но не удержался, увидев проект автора.

Safe Life System

Наш проект — это платформа для обеспечения и сохранения безопасности информации в цифровой среде, а также для развития независимой IT-экосистемы.

Мы создаём комплекс программного обеспечения, ориентированный на защиту данных, открытость технологий и поддержку русскоязычного IT-сообщества.

P.S. Приходите узнать про нормальную разработку безопасного, надёжного ПО.

1
23 ...

Information

Rating
61-st
Works in
Date of birth
Registered
Activity

Specialization

Specialist
C++
C
Разработка программного обеспечения
Информационная безопасность
Обеспечение качества