Eure dümmsten Programmierfehler



  • Hier reinposten.



  • if(sock = 0){
      // code
    }else{
      // mehr code
    }
    

    Irgendwie konnte sock stehen wie es wollte, hat nie
    was an der Ausführung geändert 😉



  • Die üblichen Fallstricke von C++ eben:
    = anstelle ==
    delete anstelle delete[]
    Zeiger nach nirgendwo führt zum Absturz
    Selbstzuweisung nicht abgefangen
    const correctness
    Rückgabe von "nichts" (weil scope beendet)
    usw.



  • Erhard Henkes schrieb:

    Die üblichen Fallstricke von C++ eben:
    = anstelle ==
    delete anstelle delete[]
    Zeiger nach nirgendwo führt zum Absturz
    Selbstzuweisung nicht abgefangen
    const correctness
    Rückgabe von "nichts" (weil scope beendet)
    usw.

    Du meinst damit doch hoffentlich, dass du deinen Zuweisungsoperator fehlerhaft programmiert hast oder?

    Bei mir muss jede Klasse Selbstzuweisung fehlerfrei meistern, ist ein Standardtest in jedem Test-Case bei mir.



  • warum sock = 0 ist 0 = sock "out"?



  • hab mal ein betriebssystem gebastelt, das von anfang an nicht laufen konnte, da ich es in C geschrieben hab.
    aber das lustige ist, dass es all die deppen gekauft haben 😃



  • Die dicksten Programmierer machen die dümmsten Programmierfehler.



  • zu den vergleichen: deswegen sollte man auch abfragen 0 == sock weil wenn man tippt 0 = sock gibts definitiv nen compilerfehler 😉

    aber schön sind auch fehler wenn man {} nicht setzt weil man ja nur eine zeile braucht und die dann doch erweitert 😉

    aber mein geilster fehler war neulich als wir ne liste und einen datentyp selber bauen sollten und mein operator== für den datentyp falsch war und ich mich immer gewundert hab warum ich in meiner liste abundan das falsche finde 🙂



  • princess schrieb:

    zu den vergleichen: deswegen sollte man auch abfragen 0 == sock weil wenn man tippt 0 = sock gibts definitiv nen compilerfehler 😉

    👍



  • sothis_ schrieb:

    princess schrieb:

    zu den vergleichen: deswegen sollte man auch abfragen 0 == sock weil wenn man tippt 0 = sock gibts definitiv nen compilerfehler 😉

    👍

    OMG 👎



  • princess schrieb:

    zu den vergleichen: deswegen sollte man auch abfragen 0 == sock weil wenn man tippt 0 = sock gibts definitiv nen compilerfehler 😉

    aber schön sind auch fehler wenn man {} nicht setzt weil man ja nur eine zeile braucht und die dann doch erweitert 😉

    Kenn ich, ich hatte eine Zeit lang bei einzelnen Anweisungen immer die geschweiften Klammern weggelassen und hatte ungefähr folgende Struktur:

    if( some_cond )
         if( some_other_cond )
              do_something
    else
         do_something_else
    

    War allerdings etwas komplizierter und nicht ganz so leicht zu sehen warum das Programm nie richtig funktionieren wollte 🤡



  • Mein dümmster Programmierfehler ist der, mit dem Programmieren angefangen zu haben 😃

    Jetzt schufte ich wie nen Bekloppter um mir meine täglich Pizza leisten zu können und habe gelernt, die man die Kaffetasse richtig auf der Wampe abstellt, ohne sich zu verbrühen ^^

    Naaja.. hatte überneulich mal nen tolles Problem mit ner String nach DOM - Transformation in Java. Besagter String war ein als CDATA in ein anderes DOM eingelagertes Dokument.
    Hab das Ganze per XPath da raus gezogen und wollte dann ein Document daraus generieren, was ständig fehl schlug.

    Das Problem war, dass das CDATA-Tag nach einem Newline im Parent-XML lag und auch noch ordentlich eingerückt wurde.
    Wenn man ein CDATA per XPath aus einem DOM hohlt (über text()), werden offensichtlich alle Textinhalte aneinander gehängt. Das herausgezogene "Dokument" begann somit nicht mit einem <?xml, sondern mit einem Zeilenumbruch und mehreren Leerzeichen.
    Das mag scheinbar der Transformer nicht 😞

    Ansonsten sind memory leaks und schlecht beschriebene API's mein häufigstes Problem..



  • Ich habe im eifer des Gefechts während dem C++ lernen,
    um einen Programmabbruch zu erzwingen den ausdruck

    assert(5<4);
    

    benutzt ... der ruf hängt mir bei allen die's zu sehen bekommen haben
    immernoch nach 🙂



  • Irgendwann beim SQL Rumhacken über zwei Oracle User hab ich mal aus versehen die falsche Tabelle gedropt. Die ist auch leider nicht wieder auferstanden 🙂 Stundenlange Vorarbeit fürn Ar*** - Fast wär ich aus dem Fenster gesprungen



  • out? schrieb:

    warum sock = 0 ist 0 = sock "out"?

    0 = sock war noch nie "in".

    princess schrieb:

    zu den vergleichen: deswegen sollte man auch abfragen 0 == sock weil wenn man tippt 0 = sock gibts definitiv nen compilerfehler 😉

    Das war und ist noch lange kein Grund, eine solch "krumme" Schreibweise zu verwenden. Und da Compiler mittlerweile ausreichend Warnungen generieren, gibt es nicht mal mehr einen plausiblen.



  • Irgendwas unnötig kompliziert machen, weil man meint, dass es schneller ist, obwohl man garnicht weiß, ob am diese Stelle jemals schneller machen muss.



  • Als ich angefangen habe zu programmieren wollte ich mal nen Thread sicheren Stack bauen:

    ...
    int sicher_top()
    {
     enter_critical_section(&c);
     return stack_s.top();
     leave_critical_section(&c);
    }
    ...
    


  • MisterX schrieb:

    Als ich angefangen habe zu programmieren wollte ich mal nen Thread sicheren Stack bauen:

    ...
    int sicher_top()
    {
     enter_critical_section(&c);
     return stack_s.top();
     leave_critical_section(&c);
    }
    ...
    

    hehe 😃



  • princess schrieb:

    zu den vergleichen: deswegen sollte man auch abfragen 0 == sock weil wenn man tippt 0 = sock gibts definitiv nen compilerfehler 😉

    *würg* 🙄



  • const Klasse& operator=(const Klasse& k) {
        (*this) = k;
        return (*this);
    }
    

    gab dann nach ca. 100000 Selbstaufrufen einen stack-overflow 🙂


Anmelden zum Antworten