1. Foren
  2. Kommentare
  3. OpenSource-Forum
  4. Alle Kommentare zum Artikel
  5. › Linux: Kernel-Community…

Warnungen als Error zu behandeln ist gut und wichtig

Neue Foren im Freiraum! Raumfahrt und freie Software haben jetzt einen Platz, die Games tummeln sich jetzt alle in einem Forum.
  1. Thema

Neues Thema Ansicht wechseln


  1. Warnungen als Error zu behandeln ist gut und wichtig

    Autor: katze_sonne 09.09.21 - 11:51

    Es mag vielleicht ganz wenige Ausnahmen geben, wo das nicht der Fall ist.

    Aber in fast allen Fällen steckt da mehr dahinter. Viele Warnungen weisen halt auf später tatsächlich auftretende Bugs hin.

    Ich finde es immer befremdlich, wenn ich fremde Software kompilliere und da erstmal dutzende Warnings bekommen... meistens kein gutes Zeichen.

  2. Re: Warnungen als Error zu behandeln ist gut und wichtig

    Autor: Datalog 09.09.21 - 12:39

    Eben. Warnungen weisen sehr oft darauf hin, dass es in Zukunft Probleme geben könnte, z.B. weil aus der Warnung dann ein Fehler wird. Oft, weil dann eine Funktionalität veraltet und abgeschafft wird.

    Genau aus dem Grund sollten Warnungen auch nicht wie Fehler behandelt werden. Das sind Hinweise, keine aktuellen Fehler. Fehler führen zum Abbruch, Warnungen jedoch nicht.

    Wer einen sauberen Build möchte und daher die Warnungen abschaffen möchte, der/die riskiert, dass Leute auf Warnungen verzichten. Damit ist doch auch niemandem geholfen.

  3. Re: Warnungen als Error zu behandeln ist gut und wichtig

    Autor: tritratrulala 09.09.21 - 13:57

    katze_sonne schrieb:
    --------------------------------------------------------------------------------
    > Es mag vielleicht ganz wenige Ausnahmen geben, wo das nicht der Fall ist.
    >
    > Aber in fast allen Fällen steckt da mehr dahinter. Viele Warnungen weisen
    > halt auf später tatsächlich auftretende Bugs hin.
    >

    So einfach ist das nicht: je nach Compiler (gcc oder clang), Compilerversion, CPU-Architektur, Versionen der Abhängigkeiten und sonstiger Laufzeitumgebung ergibt sich ein anderes Verhalten. Da kann es gut sein, dass es überhaupt keine Möglichkeit gibt, durchgehend eine Warnungsfreiheit zu erzielen. Gerade auch, weil Compiler nicht perfekt sind und gerne falsch-positive Warnungen auftreten. Hatte ich beim gcc schon öfter beispielsweise.

    Wenn man eine komplett standardisierte Buildumgebung hat, mag das was du sagst stimmen, aber das ist häufig nicht der Fall. Gerade beim Linux-Kernel!

    > Ich finde es immer befremdlich, wenn ich fremde Software kompilliere und da
    > erstmal dutzende Warnings bekommen... meistens kein gutes Zeichen.

    Dutzende Warnings meist nicht, aber -Werror ist ja rigoros und bricht den Buildvorgang bei einer einzigen Warnung ab.

  4. Re: Warnungen als Error zu behandeln ist gut und wichtig

    Autor: bstea 09.09.21 - 14:15

    Genau dafür gibts Ausnahmen die Falschpositive nicht melden.
    Generell sollte man alle Warnungen ernst nehmen, spätesten auf anderen Plattformen rächt sich dann diese Nachlässigkeit.
    Meines Wissens wird bei den BSDs nur mit WError gearbeitet, aber die haben auch deutlich weniger Code-Änderungen.

    --
    Erst wenn der letzte Baum gefällt, der letzte Fluss gestaut und der letzte Fisch gefangen ist, werdet ihr feststellen, dass man Biber nicht essen kann!



    1 mal bearbeitet, zuletzt am 09.09.21 14:18 durch bstea.

  5. Re: Warnungen als Error zu behandeln ist gut und wichtig

    Autor: tritratrulala 09.09.21 - 14:27

    bstea schrieb:
    --------------------------------------------------------------------------------
    > Genau dafür gibts Ausnahmen die Falschpositive nicht melden.

    Da bist du dann bei einer breit aufgestellten Landschaft an Compilern & co dauernd damit beschäftigt, die Ausnahmen zu warten. Habe ich zumindest schon durch...

    Was ich auch schon gesehen habe ist, dass bei einem Projekt -Werror eingeschaltet wurde, und weil das dann Probleme machte, wurden der Einfachheit halber im Projekt global (!) etliche Warnings komplett ausgeknipst. Da muss ich dir hoffentlich nicht erzählen, wie kontraproduktiv das ist...

    > Generell sollte man alle Warnungen ernst nehmen, spätesten auf anderen
    > Plattformen rächt sich dann diese Nachlässigkeit.
    > Meines Wissens wird bei den BSDs nur mit WError gearbeitet, aber die haben
    > auch deutlich weniger Code-Änderungen.

    Ich bin der Meinung es müsste in den Compilern verankert eine deutlichere Abstufung geben: bspw. informative Warnungen, mittelschwere Warnungen, schwere Warnungen und dann fatale Fehler. Je nach eigenen Anforderungen könnte man dann beispielsweise alles ab schweren Warnungen (die stark auf Fehler hinweisen) zu einem Abbruch führen. Und bei informativen Warnungen könnte man einen Abbruch erzwingen, wenn's davon zu viele gibt. Das ist bei den großen Compilern noch nicht sehr durchstrukturiert, das lässt sich so bisher kaum umsetzen. Man kann zwar einzelne Warnungen zu Fehlern machen und Ähnliches, aber das ist verdammt aufwändig und umständlich.



    1 mal bearbeitet, zuletzt am 09.09.21 14:32 durch tritratrulala.

  6. Re: Warnungen als Error zu behandeln ist gut und wichtig

    Autor: unbuntu 09.09.21 - 14:27

    Und warum gibts dann überhaupt "Warnungen" und nicht gleich nur "Fehler"?

    "Linux ist das beste Betriebssystem, das ich jemals gesehen habe." - Albert Einstein

  7. Re: Warnungen als Error zu behandeln ist gut und wichtig

    Autor: Steffo 09.09.21 - 14:50

    tritratrulala schrieb:
    --------------------------------------------------------------------------------
    > Ich bin der Meinung es müsste in den Compilern verankert eine deutlichere
    > Abstufung geben: bspw. informative Warnungen, mittelschwere Warnungen,
    > schwere Warnungen und dann fatale Fehler.

    Sorry, das ist einfach Selbsttäuschung. Ich habe schon selbst erlebt, wie nicht benutzte Variablen zu Fehlern führten, weil besagte Variablen eigentlich benutzt werden sollten.

  8. Re: Warnungen als Error zu behandeln ist gut und wichtig

    Autor: /mecki78 09.09.21 - 14:55

    katze_sonne schrieb:
    --------------------------------------------------------------------------------
    > Viele Warnungen weisen
    > halt auf später tatsächlich auftretende Bugs hin.

    Und viele tun das nicht und dann korrekten Code nicht bauen zu können, nur weil der Compiler meint, da könnte was nicht stimmen, auch wenn er ganz klar damit falsch liegt, heißt, dass du am Ende korrekten Code gar nicht bauen kannst oder irgendwie vermurksen musst, nur damit irgend ein Compiler zufrieden ist, woraufhin dann aber der nächste Compiler auf einmal wieder glaubt jetzt damit ein Problem erkannt zu haben.

    /Mecki

  9. Re: Warnungen als Error zu behandeln ist gut und wichtig

    Autor: tritratrulala 09.09.21 - 14:58

    Steffo schrieb:
    --------------------------------------------------------------------------------
    > tritratrulala schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Ich bin der Meinung es müsste in den Compilern verankert eine
    > deutlichere
    > > Abstufung geben: bspw. informative Warnungen, mittelschwere Warnungen,
    > > schwere Warnungen und dann fatale Fehler.
    >
    > Sorry, das ist einfach Selbsttäuschung. Ich habe schon selbst erlebt, wie
    > nicht benutzte Variablen zu Fehlern führten, weil besagte Variablen
    > eigentlich benutzt werden sollten.

    Höh? Es sagt doch keiner, dass man die Warnungen dann ignorieren sollte. Aber man ist nicht wie mit -Werror in einer "Fix - Recompile - Fix"-Schleife gefangen, sondern kann Warnungen und Fehler systematisch je nach Schwere behandeln.

  10. Re: Warnungen als Error zu behandeln ist gut und wichtig

    Autor: tritratrulala 09.09.21 - 15:02

    /mecki78 schrieb:
    --------------------------------------------------------------------------------
    > katze_sonne schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Viele Warnungen weisen
    > > halt auf später tatsächlich auftretende Bugs hin.
    >
    > Und viele tun das nicht und dann korrekten Code nicht bauen zu können, nur
    > weil der Compiler meint, da könnte was nicht stimmen, auch wenn er ganz
    > klar damit falsch liegt, heißt, dass du am Ende korrekten Code gar nicht
    > bauen kannst oder irgendwie vermurksen musst, nur damit irgend ein Compiler
    > zufrieden ist, woraufhin dann aber der nächste Compiler auf einmal wieder
    > glaubt jetzt damit ein Problem erkannt zu haben.

    Ich glaube viele Entwickler kennen solche Probleme nicht, weil deren Software nur für eine Plattform gebaut wird oder ähnlich. Wir haben Software, die mit verschiedenen Compilern (clang und gcc) für verschiedene Betriebssysteme (Windows, Linux und macOS) und Architekturen (x86, x86_64 und ARMv8) gebaut wird. Ich kann deine Argumentation jedenfalls komplett nachvollziehen!

    In manchen Konfigurationen sind wir dann beispielsweise auf ältere Compilerversionen angewiesen und das macht mit modernen C++-Features regelmäßig Probleme, insbesondere eben wegen merkwürdigen und falschen Warnings.

  11. Re: Warnungen als Error zu behandeln ist gut und wichtig

    Autor: superdachs 09.09.21 - 17:25

    Eigentlich ist es ganz einfach. Fehler führen immer zum Abbruch, Warnungen sind auch Fehler und sollten nur explizit übergangen werden können. Bspw bei veralteten Funktionsaufrufen deren Ersatz schon für ein kommendes Release eingeplant ist.

  12. Re: Warnungen als Error zu behandeln ist gut und wichtig

    Autor: Steffo 09.09.21 - 18:46

    tritratrulala schrieb:
    --------------------------------------------------------------------------------
    > sondern kann Warnungen und Fehler systematisch je
    > nach Schwere behandeln.

    Genau das ist die Täuschung. Unbenutzte Variablen hält fast jeder für harmlos. So ziemlich jeder ignoriert das.

  13. Re: Warnungen als Error zu behandeln ist gut und wichtig

    Autor: teleborian 10.09.21 - 10:01

    Würde jeder die Warnungen behandeln und Falschmeldungen melden, dann wäre das Problem auch nicht so gross.

  1. Thema

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. IT-Projektleiter (w/m/d) in der Logistik
    SSI SCHÄFER IT Solutions GmbH, Dortmund
  2. Head of Customer Segment Management (m/w/d)
    Fressnapf Holding SE, Krefeld
  3. Trainer (m/w/d) für Software-Qualitätssicherung
    imbus AG, Möhrendorf bei Erlangen, bundes­weiter Einsatz
  4. Requirements Engineer (w/m/d) Softwareentwicklung
    SSI SCHÄFER IT Solutions GmbH, Dortmund, Giebelstadt

Detailsuche


Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Spiele-Angebote
  1. 49,99€
  2. (u. a. Special Edition PS5 für 69,99€, Deluxe Edition Xbox Series X/S für 99,99€)
  3. 16,49€


Haben wir etwas übersehen?

E-Mail an news@golem.de