1.3, Аноним (-), 10:31, 29/05/2017 [ответить] [﹢﹢﹢] [ · · · ]
| –4 +/– |
Не очень понятно, зачем это Мозилле, они используют эту библиотеку где-то? Тут же HTTP 1.1 только?
| |
1.5, Аноним (-), 11:17, 29/05/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Мозилле бы "заморозить" Firefox на время, чтобы исправлять только ошибки безопасности. А сейчас у них килотонны нового кода каждый релиз
| |
|
2.15, Аноним (-), 17:18, 29/05/2017 [^] [^^] [^^^] [ответить]
| –2 +/– |
> килотонны нового кода
Я прочел "килотонны нового кода" как "килотонны гоWнокода" ибо так читается быстрее, лаконичнее, логичнее и проще (язык не запинается). Поэтому я всем советую так читать. Анон плохого не посоветует!!1!!
| |
|
1.6, Аноним (-), 11:46, 29/05/2017 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
А, это та читалка логов systemd по http, которой никто никогда не пользовался
| |
1.7, Аноним (-), 11:48, 29/05/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Объясните простому студенту: разве не весь нормальный софт должен собираться с -Wall без предупреждений?
| |
|
2.8, A.Stahl (ok), 11:51, 29/05/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
Софт может (а некоторый и не может), но не должен. Отношение "должен" к софту вообще не применимо.
| |
2.11, Аноним (-), 12:55, 29/05/2017 [^] [^^] [^^^] [ответить]
| +5 +/– |
Соберёшь одним компилятором без предупреждений, а следующая версия уже десяток вывалит. Это идеал, к которому следует стремиться, но для программ сложнее хелло ворлд он, как и все идеалы, недостижим.
Другое дело, что на strcpy() и sprintf() все компиляторы ругаются уже очень давно, равно как большинство статических анализаторов, а также valgrind memcheck. Да и сколько-нибудь толковые разработчики, когда видят, ругаются последними словами.
| |
2.13, nobody (??), 15:06, 29/05/2017 [^] [^^] [^^^] [ответить]
| –6 +/– |
Нет. Варнинги, потому и варнинги, что может быть ошибкой, а может и нет. Также немало предупреждений - вкусовщина.
-Wall - это время от времени посмотреть и обдумать предупреждения. Постоянно с этим компилировать - сумасшествие
| |
|
3.22, key (??), 21:09, 29/05/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Нет. Варнинги, потому и варнинги, что может быть ошибкой, а может и
> нет. Также немало предупреждений - вкусовщина.
> -Wall - это время от времени посмотреть и обдумать предупреждения. Постоянно с
> этим компилировать - сумасшествие
Я мб не великий разработчик, но есть и директивы для отключения предупреждений в блоке кода. Выключил перед нужной командой, включил после нее. И сразу видно - так должно быть, это не разработчик проглядел.
А когда в солидных отраслевых библиотеках идет ругань про приведение типов это мягко говоря не красиво(пускай и в варнингах).
| |
|
4.27, Evgeny (??), 22:48, 29/05/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
>> Нет. Варнинги, потому и варнинги, что может быть ошибкой, а может и
>> нет. Также немало предупреждений - вкусовщина.
>> -Wall - это время от времени посмотреть и обдумать предупреждения. Постоянно с
>> этим компилировать - сумасшествие
> Я мб не великий разработчик, но есть и директивы для отключения предупреждений
> в блоке кода. Выключил перед нужной командой, включил после нее. И
> сразу видно - так должно быть, это не разработчик проглядел.
А теперь вспомним, что библиотека кросс-платформенная и собирается некоторым количеством компиляторов от MS (MSVC), GCC, clang, Oracle Studio compiler и некоторыми другими. Директивы в большинстве случаев - индивидуальные (некоторое пересечение есть, но не универсальное). Попытки делать #ifdef на каждый чих - сильно увеличат объём кода и вряд ли сильно улучшат его качество.
Затем добавим, что собирается под разные платформы: Windows, Darwin, Linux, FreeBSD, OpenBSD, NetBSD, Solaris, OpenIndiana и ещё несколько. От платформы к платформе варьируется размер типов данных, присутствие/отсутствие знака, соотношение размеров. И вот уже компилятор начинает "предупреждать", что такое-то выражение всегда ложь на этой платформе. Ну и отлично, соптимизируется в пропуск кода. А на другой платформе - будет реальное сравнение и отсутствие "предупреждений". Попытки найти решение с помощью прекомпилятора - тоже не приводят к универсальным рецептам, так как прекомпиляторные константы тоже не универсальные.
Под одной платформой и с одним компилятором вычистить все предупреждения - несложно. А когда платформ много, компиляторов - много, а их возможных комбинаций больше ещё на порядок - то вопрос, стоит ли тратить время на чистку предупреждений после каждого изменения или стоит реализовать несколько новых фитч.
А так - да, периодически стоит собирать с -Wall -Wextra
| |
|
5.28, Аноним (-), 23:01, 29/05/2017 [^] [^^] [^^^] [ответить]
| +/– |
Если говорить о ругани на неявное приведение типов, о которой говорилось выше, то никаких специфичных для компилятора директив не требуется. Замену на явное приведение с удовольствием проглотит любой компилятор.
| |
|
6.29, Evgeny (??), 23:11, 29/05/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Если говорить о ругани на неявное приведение типов, о которой говорилось выше,
> то никаких специфичных для компилятора директив не требуется. Замену на явное
> приведение с удовольствием проглотит любой компилятор.
Это не случай libmicrohttpd.
Но, кстати, тоже не очень показательно - опять-таки, на разных платформах - разные размеры у типов данных. Когда-то один больше, когда-то другой. Что к чему приводить в случае сравнениях "x > y"?
| |
|
|
|
|
2.14, Нанобот (ok), 17:05, 29/05/2017 [^] [^^] [^^^] [ответить]
| –2 +/– |
вот представь себе ситуацию: сделал ты программку с этим твоим -Wall. и выложил куда-то. её скачали и начали компилировать всякие сомнительные личности, у каждой из них свой компилятор со своим виденьем того, где нужно предупреждения предупреждать, где не нужно. и в результате вполне рабочий код у половины не компилируется. замучаешься исправлять ошибки компиляции на ровном месте.
| |
|
3.31, Michael Shigorin (ok), 10:34, 30/05/2017 [^] [^^] [^^^] [ответить]
| +/– |
> вот представь себе ситуацию: сделал ты программку с этим твоим -Wall.
> [...] в результате вполне рабочий код у половины не компилируется.
Если говорить о сочетании -Wall -Werror, то (прошвырнувшись быстро по тому, что под рукой) некоторые апстримы вроде zstd, libmikmod или slocate такое практикуют (а в альте это довольно распространённая практика -- чинить -Wall и включать -Werror; но это всё-таки про более узкое сочетание компиляторов и платформ, конечно).
| |
|
2.16, Аноним (-), 17:21, 29/05/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
Качественный и законеченный - да. А уже качественный, но еще развивающийся может выдавать несущественные предупреждения.
| |
|
|