LINUX.ORG.RU
ФорумTalks

Почему во многих программах не исправляют варнинги?


0

2

Смотря за сборкой программ на своей Gentoo, давно мучаюсь вопросом, почему так много предупреждений выскакивает при сборке приложений и их никто не исправляет?

★★★★

Последнее исправление: keeper_b (всего исправлений: 1)
Ответ на: комментарий от keeper_b

Ты вот ошибки нашёл и поправил, а ведь не у всех разрабов проекты состоят из трёх строчек. Банально есть более важные задачи - имплементация новых нужных фич, например.

adriano32 ★★★
()
Ответ на: комментарий от elverion

Опередил. Как и ещё с десяток-другой популярных ворнингов.

Dorif, keeper_b, если вы думаете что разрабы не ознакамливаются с отчётами с build-ферм, то вы заблуждаетесь, а там как раз-таки verbocity достаточный, чтоб отличить потенциальную проблему от мелкой оплошности.

adriano32 ★★★
()
Ответ на: комментарий от elverion

Ну, это как посмотреть. И большая часть варнингов в ядре, например посерьёзнее незаюзанной переменной.

Dorif ★★★
()
Ответ на: комментарий от elverion

Да, вот недавно совсем где то видел «неиспользованная переменная 'yyyyy'». :)

keeper_b ★★★★
() автор топика

в большом числе программ и глюки с ошибками не исправляют. и кривость реализации не выпрямляют.

что меня бешенно злит - туннели pptp-client и xl2tp. ну на первый все забили, он патченный-перепатченый а результата мало.

но xl2tp - такой же ппц. разрывов нет как в pptp, зато есть проседание скорости. опять патчи-патчи-патчи и опять же до конца не лечится. особая песня это поддержка kernel mode модуля. слов нет даже непечатных.

tommy ★★★★★
()

Если сделать '-O0', то больше половины ворнингов режется. В частности, результат функции нигде не заюзан (в основном это printf/scanf).

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

Так ведь наверное, даже от версии компилятора зависит количество варнингов.

Ну и приходилось мне на пыхе писать - начальство требовало даже notice исправлять - чтобы всё по понятиям было. Хотя php - особый случай - при стандартных настройках он как-то очень толерантно относится к разным ошибкам.

GblGbl ★★★★★
()

Ну раз всё так просто, возьми и исправь дюжину ворнингов в какой-нибудь программе покрупнее и вышли патч разработчикам.

Gary ★★★★★
()

Потому что это опенсурс. Поди и исправь коль глаза мозолит =)

Siado ★★★★★
()

> почему так много предупреждений выскакивает при сборке приложений и их никто не исправляет?

действительно, почему ты до сих пор не исправил? уж не лошок ли ты?

Rastafarra ★★★★
()
Ответ на: комментарий от elverion

> Неиспользованная переменная — не потенциальный баг.

Но потенциальная дурь.

bbk123 ★★★★★
()

Варнинги - не ошибки, это во-первых. Во-вторых, добавь -s в MAKEOPTS. Тут, кстати, мегабакс парсил сорцы ядра - найди ту тему да почитай комментарии в коде, там ответ на твой вопрос.

Lighting ★★★★★
()

Научрук на мою фразу «Матлабу можно в аргумент матрицы подставлять число с плавающей точкой, он сам округлит» ответил: «Я не люблю, когда на меня ругаются». Ты из тех же людей, которые не любят ругани?

luke ★★★★★
()

Не барское это дело.

Deleted
()
Ответ на: комментарий от GblGbl

Всегда пишу с E_ALL | E_STRICT.
У меня ошибки бываю только при E_STRICT и в основном они в старом коде, написанном 4 года назад.
Но даже с таким уровнем ошибок язык допускает массу вольностей, потому нужно придерживаться хотя бы этих правил.

Все кто пишет на пыхе игнорируя ошибки должны быть повешены на ближайшем попавшемся дереве, расстреляны, выпотрошены и раздавлены паровым катком.

winddos ★★★
()

Смотря за сборкой программ на своей Gentoo, давно мучаюсь вопросом, почему так много предупреждений выскакивает при сборке приложений и их никто не исправляет?

Потомучто опенсорч=говнокод.

Небольшой процент варнингов появляется из-за того, что у автора и того-кто-ставит-программу-из-исходников разные версии компиляторов.

pat_minus
()
Ответ на: комментарий от GotF

>Ядро забыл упомянуть.

В ядре как раз исправляют

Led ★★★☆☆
()
Ответ на: комментарий от Lighting

>Варнинги - не ошибки, это во-первых.

Примерное в половине случаев это ошибки или потенциальные ошибки.

Led ★★★☆☆
()

Живой пример из моей практики: писал я себе программу на заказ и старался в ней все ворнинги убрать. Ну, не приятно мне читать листинг на целый экран, когда реально там 4 строчки компиляции.

И все было замечательно, пока не произошло обновление пакета libnetfilter_queue с версии 0.0.17 до версии 1.0.0 (Да, вот так вот радикально). И что вы думаете? Сразу вылезло несколько ворнингов? В функциях API поменялись типы входных параметров функций (с char * на unsigned char *, кажется).

Вы сейчас разработчикам проектов с сотнями тысяч строк кода предлагаете на каждую версию сторонних библиотек, с которыми их проект линкуется динамически, писать свою «особую» версию кода без ворнигнов? Может займетесь этим, раз такой умный?

delete83 ★★
()
Ответ на: комментарий от winddos

Капитан Очевидность спасает

>Все кто пишет на пыхе должны быть повешены на ближайшем попавшемся дереве, расстреляны, выпотрошены и раздавлены паровым катком

redgremlin ★★★★★
()

А зачем? Они тебе мешают? Ворнинг - не ошибка.

drull ★☆☆☆
()
Ответ на: комментарий от Lighting

>Тогда почему программы с сотнями «ошибок» собираются и вполне работают?

Собираются, потому что для компилятора это варнинги, а не ошибки.

И не «работают», а «пока что как-то работают».

Led ★★★☆☆
()
Ответ на: комментарий от drull

Неиспользованная переменная вполне может быть результатом бага.

Бред.

Иди назад в школу, если для тебя это бред.

Pavval ★★★★★
()
Ответ на: комментарий от Led

> И не «работают», а «пока что как-то работают».

Неиспользованная переменная не станет причиной прекращения работы. Если после оптимизации какие-то переменные перестали быть нужными, но разработчик забыл удалить их объявление, то это ничему не помешает.

drull ★☆☆☆
()
Ответ на: комментарий от drull

Просто ты кроме «Неиспользованная переменная» больше и никаких варнингах не слышал. Да и о этих на ЛОРе сегодня узнал:)

Led ★★★☆☆
()
Ответ на: комментарий от Led

Да-да, если нечего ответить по делу - попытайся оскорбить оппонента.

drull ★☆☆☆
()
Ответ на: комментарий от drull

Неиспользованная переменная не станет причиной прекращения работы. Если после оптимизации какие-то переменные перестали быть нужными

А если просто кусок кода не сгенерился, долженствующий использовать оные, например?

Xenesz ★★★★
()

С implicit declaration видел забавную вещь: если аргумент функции=0, то функция работает. Если >0, то не работает. Товарищ тогда откладывал ворнинги до лучших времён, «когда алгоритм заработает».

prischeyadro ★★★☆☆
()

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

Napilnik ★★★★★
()
Ответ на: комментарий от ZenitharChampion

У меня БП сгорел на игровом компе с семёрочкой, пока не до стима. Подтвержу, как попаду туда. А попаду нескоро, сейчас полевой сезон начался, а это значит, что смотаюсь как минимум в Магадан на месяц. А как максимум, ещё в Якутию и/или индию на 2-3 месяца.

Obey-Kun ★★★★★
()
Ответ на: комментарий от luke

> Ты из тех же людей, которые не любят ругани?

Я тоже из таких. Всё должно быть идеально. Нас вообще много, любящих красоту.

Obey-Kun ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.