kramann.info
© Guido Kramann

Login: Passwort:










kramann.info
© Guido Kramann

Login: Passwort:




Mapping der Muster für fehlertoleranten Softwareentwurf auf das Audio-Interface

(EN google-translate)

(PL google-translate)

Vorab: Clean Code - Welche Maßnahmen kennen Sie, um Programmierfehler zu vermeiden?


- Fertige Programmteile zu Modulen/Funktionen/Klassen zusammenfassen und auslagern.

-- Sinnvolle Systemgrenzen im Gesamtsystem identifizieren und demgemäß in Module aufteilen.
-- Zugriffsfunktionen überlegen, die klar die Austauschmöglichkeiten der 
   Module definieren (Schnittstellen zwischen den Modulen).

- Variablengültigkeit besser sichtbar machen durch konsequentes Einrücken von Blöcken {...}.
- Verwenden Sie sprechende Namen für Methoden und Variablen.
- Schreiben Sie Variablen klein.
- Beginnen Sie Funktionen mit einem klein geschriebenen Verb.
- Wenn Funktionen zu lang werden, sollten sie in thematisch sinnvolle Unterfunktionen 
  aufgeteilt werden, die von der Hauptfunktion aufgerufen werden.
- Sorgen Sie dafür, dass im Hauptprogramm erkennbar ist, was das Gesamtprogramm macht.


Code 0-1: Gemeinsam im Unterricht: Zusammenstellung aller Ihnen bekannten Maßnahmen zur Vermeidung von Programmierfehlern.

Zusammenstellung aller bereits verwirklichten Muster


1 Units Of Mitigation : Zurücksetzen, wenn Bytes unvollständig empfangen wurden


6 Maximize Human Participation: Visualisierung der Mikrofondaten / Datensignale sind hörbar
--- 8 Someone in Charge: Es gibt den Programmteil, der einen Timeout erkennt.
----2 Correcting Audits / 10 Fault Observer (aber nicht vollständig verwirklicht)


Code 0-2: Gemeinsam im Unterricht: Zusammenstellung aller bereits verwirklichten Muster.

Zusammenstellung aller Ideen zu noch umsetzbaren Muster


2 Correcting Audits: Checksumme bilden und im Fehlerfall Byte noch einmal anfordern. 

3 Redundancy: Immer jedes Zeichen mehrmals schicken.

Szenario:
System wird benutzt, um die Antriebsspannung als Zahl von einem eingebetteten PC zu einem Elektrofahrzeug zu schicken.
Problem: Letzte Ziffer wird nicht übertragen, 24 statt 243

Abhilfe:

"8 Someone in Charge": Erkennen, dass letzte Ziffer fehlt
"4 Recovery Blocks ":  Letzte Ziffer durch Null ersetzen




Code 0-3: Gemeinsam im Unterricht: Zusammenstellung aller Ideen zu noch umsetzbaren Muster.