#42 Modularisierung Flashcards
Welche Probleme können bei der Entwicklung großer Programme entstehen und wie kann man Abhilfe für diese schaffen?
Probleme:
- Große Quelldateien sind unübersichtlich und schlecht zu warten
- Editieren und Compilieren dauert wesentlich länger
- Eine voneinander unabhängige Arbeit der Teammitglieder ist nur
schwer möglich
Abhilfe:
Aufteilung des Programms/Quelltextes in mehrere Dateien/Module
- Wiederverwendbarkeit (ein Modul in mehreren Programmen)
- Aufteilung auf mehrere Personen
- Nur geänderte Module müssen übersetzt werden
Welche Design-Kriterien sollten bei der Erstellung von Modulen beachtet werden?
- Module bestehen aus einzelnen Funktionen
- Hoher Zusammenhang: Die Funktionen eines Moduls sollten inhaltlich
zusammenhängen - Geringe Kopplung: Nur wenige Funktionen sollten zur Kommunikation des
Moduls nach außen notwendig sein - Wiederverwendbarkeit von Modulen
Was muss beachtet werden um die Kommunikation zwischen Modulen zu gewährleisten?
- Funktionen und Variablen eines Moduls, die von anderen Programmteilen
benutzt werden, müssen in dem importierenden Modul deklariert werden. - Deklarationen in Header-Dateien (Dateiendung .h), die mit #include
eingebunden werden.
Eine Header-Datei enthält: - # define- und #include-Befehle
- globale und externe Variablen
- Prototypen von globalen und externen Funktionen
- Selbstdefinierte Datentypen
Was sind Funktionsprototypen?
Ein Funktionsprototyp ist die Deklaration einer Funktion mit ihren typisierten Parametern und
Rückgabewert ohne Funktionsrumpf.
- Syntax wie Funktionskopf, Abschluss mit Semikolon.
Beispiele:
int quadrat(int x);
void ausgabe();
- Funktionsdefinition (Funktionsrumpf) muss später folgen.