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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.