[Ffmpeg-devel] compiler warnings
Steve Lhomme
steve.lhomme
Thu Mar 30 09:28:26 CEST 2006
Rich Felker wrote:
> On Wed, Mar 29, 2006 at 11:26:47AM +0000, Dieter wrote:
>>> don't be afraid of warnings.
>> Fixing compiler warnings is good engineering practice.
>
> No, it's not. What if I made a compiler that prints a warning whenever
> getpwuid(getuid())->pw_gecos contains "Dieter"? :)
>
> The point being: some compiler warnings are valid, others are idiotic.
> Warnings can be broken down into:
>
> - cases where someone who does not know C might infer the wrong
> behavior from reading the code (like if (a=b)...).
>
> - cases where there is no legitimate purpose for the code (things like
> if ((unsigned)x >= 0) or printf("%s", i)...)
>
> - other cases i dont care to write about.
>
> The second class should obviously be fixed. On the other hand fixing
> the first just makes your code less readable by bloating it with
> unnecessary parentheses and such. C has operator precedence, ==/=
> distinction, etc. for a reason.
Having to guess exactly how a C compiler process data to know exactly
what is does is bad engineering. Even though the code is correct and
small, it makes it harder to read by a large number of coders. Making
the code easily readable is important to maintain the code, not wonder
if the compiler has to be C90 or C99 or whatever to compile a line
correctly.
That's why the famous quote from here "fix the compiler" is also not
realistic in the real world. Most of the time you are given a compiler
(and an IDE) that goes with the hardware you're working with (I'm not
talking about PCs) and you just do with it. You'll just get fired if
instead of fixing bugs you were saying your boss "it's not my fault,
it's the compiler". It's an engineering practice that will get you nowhere.
Steve
More information about the ffmpeg-devel
mailing list