Compiler custom rule?



  • Moin,

    ist es möglich ein compiler eigene rules zu geben beim compilieren?

    Wenn ich in einem File zum Beispiel: CHANGE_THIS drin habe, dass er beim complilieren CHANGE_THIS zu if err != nul { return err } ändert?

    Grüße


  • Global Moderator

    Ja, das wäre ein ganz normales Präprozessormakro. Praktisch alle Präprozessoren (bzw. Compiler mit eingebautem Präprozessor) erlauben auch die Definition von Makros über die Kommandozeile. Meistens mit -D, hier also -DCHANGE_THIS='if err != nul { return err }' .

    Solche Techniken sind tendenziell böse und sollten vermieden werden, wenn man nicht einen sehr guten Grund dafür hat. Bedenke: Ein Grund, ist nicht objektiv gut, bloß weil du ihn für gut hältst.



  • Moin, danke dir. Bei mir geht es in dem Fall um die Sprache cgo. Mich nervt da die Fehlerabfrage mit if err != nil { return err }.

    func blabla {
    Do something
    }
    if err != nil {
    return err
    }

    Und das nach jeder Funktion... Werde mir das mit dem Makro mal angucken.



  • Ich kenn die Sprache zwar nicht, aber ich halt das für hochgradig unsinnig, einen Rückgabewert einer Funktion mit nem Macro zu verstecken, nur weil du dir 2 (!) Zeilen Code sparen willst.

    Mach das mal lieber richtig und schreib's so, dass es der normal Sterbliche auch noch kapiert, wenn der Vorgänger wegen solchem Quatsch aus der Firma geschmissen wurde.

    Nur meine Meinung 🕶