Ist Misra-C sinnvoll?



  • Bashar schrieb:

    Schlimm ist, dass solche Richtlinien nicht nur eine negative Aussage treffen, sondern effektiv auch eine positive: Dieser Code ist verständlich, weil er den Richtlinien entspricht. Dabei wissen wohl die meisten hier, dass die fiesesten Fallstricke überhaupt nicht durch formale Richtlinien abgefangen werden können.

    Ich glaube, das trifft es ziemlich gut 😉
    Ein paar Sachen sind zumindest strange bei MISRA:
    Warum z.B.

    rueckwert = function();
    if (!rueckwert)
    {
    	// Fehlerbehandlung(rueckwert);
    }
    

    besser sein soll als

    if (rueckwert != 0)
    {
    	// Fehlerbehandlung(rueckwert);
    ...
    

    soll, ist mir nicht klarzumachen 😕 . Explizite Prüfung gegen Null, wer macht das schon und warum? Ich gebe einfach einen errorlevel zurück und wenn der null ist, ist der auch boole Null, das ist halt unter C so.

    Ans Eingemachte geht es aber, wenn man mit Funktionspointern herumhantiert. Ich habe so eine verkettete Eventhandlerliste implementiert, da wird alles als void* draufgeschoben, die aufzurufenden Funktionen (alle void(void)) und auch die Parameter als (void 😉 einer struct irgendwas. Jede aufgerufene Funktion holt sich aus der Liste den Pointer auf die Argumente und muß halt mit einem free() das Argumentepaket nach der Abarbeitung löschen, also eigentlich durchschaubar, aber nach MISRA stockverboten ⚠
    Als Umgehungskonstrukt ist mir nur eingefallen, Event- IDs in eine Liste zu schieben und die über eine lange switch/case zu parsen. Vorher war's sowohl übersichtlicher als auch performanter. 🙄 Glaube nicht, daß jemand nach der MISRA- Adaption sagen könnte: "Das kapier' ich schneller".

    Alle Hardwarezugriffe auf ein File zu konzentrieren ist ja auch Unsinn, eine per #include zugebundene Funktionssammlung sollte per einfachem #define im Header schon von sich aus wissen, ob sie jetzt für einen SH8 oder einen AVR compiliert wird. Das Zentralisieren hat zumindest in der Geschichte (s.o.) einen nicht wiederverwertbaren S*c*e*ecode ergeben und nach dieser Abnahme will ich nie wider über MISRA nachdenken müssen. 😡

    Also, gibt es jetzt jemanden, der den MISRA- Kram total toll findet oder nicht?

    Tim schrieb:

    Da freu ich mich schon drauf.

    Ich muß auch leider hin. Hey, Du Supermod, wegen so OT- Gequassel hast Du schon andere Topics geschlossen.



  • OT-Quassler schrieb:

    Tim schrieb:

    Da freu ich mich schon drauf.

    Ich muß auch leider hin. Hey, Du Supermod, wegen so OT- Gequassel hast Du schon andere Topics geschlossen.

    Hallo pointercrash(). Spar dir doch bitte solche Provokationen. Ich habe dir angeboten unseren Konflikt (den wir ja unbestritten haben) in aller Ruhe zu klären. Solche Kommentare sind einfach nur unnötig.


Anmelden zum Antworten