c code neu strukturieren

Gast #5455587
Lesenswert?

N Abend, Forum

Ich habe einen komplexeren c code. In ihm befinden sich if else Blöcke, 
die ziemlich lang sind, so lang, dass man beim else schon nicht mehr 
weiß, was beim if abgefragt wurde, weil man 300 Zeilen tiefer ist. Ich 
würde gerne den code in den if und else Blöcken verkürzen, auslagern o. 
was ähnliches, um ihn übersichtlicher zu machen. Der Code in den Blöcken 
ist aber sehr dicht, zahlreiche verschiedene Funktionaufrufe, 
verpointerte Structs als Funktionparameter. Es läßt sich kaum was in 
funktionen auslagern, ohne die vielen  structs als parameter mitzugeben.

Frage: habt Ihr Ideen wie man hier vorgehen könnte?

Danke für Vorschläge,
Restrukturierer
Gast #5455654
Lesenswert?

Restrukturierer schrieb:
> Frage: habt Ihr Ideen wie man hier vorgehen könnte?

Klein anfangen, und immer Mini-Schritt für Mini-Schritt. Ganz viele 
kleine Schritte führen zum Ziel.

In einem Mini-Schritt immer nur genau eine Sache ändern. Dazu gehört 
auch ganz besonders, dass schon einmal geänderter Code in einem späteren 
Schritt erneut umstrukturiert wird.

Auf keinem Fall versuchen, das alles auf einmal aufzuräumen. Das geht 
nicht, wie Du schon selbst gemerkt hast.

Immer nur eine Kleinigkeit ändern, das ist wirklich das allerwichtigste.


Dirk B. schrieb:
> Dann schreib einen Kommentar beim else, wann das ausgeführt wird.

Das kann ein Anfang sein, aber auf keinem Fall das Ende.

Wenn man eine fette Funktion hat, kann man die verschiedenen Bereiche in 
der Funktion mit einem Kommentar markieren.

Im nächsten Schritt werden die kommentierten Blöcke in eigene Funktionen 
gepackt. Der Funktionsname orientiert sich am ursprünglichem Kommentar.

In der Ursprungsfunktion werden die Kommentare gelöscht und durch 
Aufrufe der neuen Funktionen ersetzt.

So hat man schon mal eine Auftrennung in unterschiedlichen 
Abstraktionsebenen vollbracht.

Am Anfang bekommen diese Teil-Funktionen teilweise sehr viele Parameter, 
die vermutlich auch recht wenig miteinander zu tun haben. In weiteren 
Mini-Schritten wird auch dies Stückchen für Stückchen gerade gezogen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren