The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Проект по автоматическому анализу кода в пакетной базе Debian, opennews (ok), 17-Дек-10, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


28. "Проект по автоматическому анализу кода в пакетной базе Debia..."  +/
Сообщение от Аноним (-), 17-Дек-10, 20:30 
Ни один статический анализатор не пригоден для проверки утечек. Единственное адекватное решение — valgrind. Впрочем, статические анализаторы вообще мало для чего пригодны, по причине большого количества ложных срабатываний.
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

30. "Проект по автоматическому анализу кода в пакетной базе Debia..."  +/
Сообщение от тоже Анонимemail (ok), 17-Дек-10, 21:28 
Ну почему же, для черновой чистки кода, особенно после рефакторинга, когда классы обменивались членами и методами, вполне годится. Тут переменная уже не используется, тут - можно уменьшить ее область видимости, свичи без дефолтов лишний раз посмотреть - может, и нужно сделать... В общем, для "полировки" и в качестве имитации свежего взгляда - нормально. Как альтернатива ключам компилятора, в результате которых имеешь ворох замечаний, из которых 90% - вообще не к твоему коду, а к библиотечному.
Ответить | Правка | Наверх | Cообщить модератору

31. "Проект по автоматическому анализу кода в пакетной базе Debia..."  +1 +/
Сообщение от klalafuda (?), 17-Дек-10, 21:54 
> Ну почему же, для черновой чистки кода, особенно после рефакторинга, когда классы обменивались членами и методами, вполне годится. Тут переменная уже не используется, тут - можно уменьшить ее область видимости, свичи без дефолтов лишний раз посмотреть - может, и нужно сделать... В общем, для "полировки" и в качестве имитации свежего взгляда - нормально. Как альтернатива ключам компилятора, в результате которых имеешь ворох замечаний, из которых 90% - вообще не к твоему коду, а к библиотечному.

Неиспользуемые переменные прекрасно отсекает gcc. И в этом он совершенно прав. Если, допустим, неиспользуемые аргументы метода вполне имеют право на жизнь (соответственно -Wno-unused-parameter валиден и правомерен) то неиспользуемые переменные - это откровенный мусор. Естественно, если это простой тип.

Свичи без дефолтов - тоже вполне валидны. При условии, что это перечисление и в свиче by design полный набор элементов. Это позволяет ещё на уровне компиляции обнаружить, что оказывается, перечисление внезапно! кто-то расширил новыми элементами а вот в селекторы тут там и сям их не добавил (забыл). Если бы стоял дефолт то компилятор бы это проглотил на ура. С самым разными последствиями.

Ворох же замечаний - он в подавляющем большинстве случаев не просто так. И не суть важно откуда они идут - из кода A или из стороннего кода B. Какая разница где именно грязь === риски багов? Если оно есть - с этим нужно разбираться, без вариантов.

Ответить | Правка | Наверх | Cообщить модератору

32. "Проект по автоматическому анализу кода в пакетной базе Debia..."  +1 +/
Сообщение от тоже Анонимemail (ok), 17-Дек-10, 22:47 
> Свичи без дефолтов - тоже вполне валидны

Я имел в виду - лишний раз обратить внимание и спросить себя: не нужно ли этот свич заткнуть дефолтом? Точно ли перебраны все возможные варианты? Не всегда он сводится к перечислениям. Кстати, если невозможный дефолт заткнуть выбрасыванием исключения - код вовсе не испортится.

> Какая разница где именно грязь === риски багов? Если оно есть - с этим нужно разбираться, без вариантов

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

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру