Home

About

Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network
FAQHELPSITE MAPCONTACT US


  Advanced Search  

 
Virtuelle Trennung von Belangen (Praprozessor 2.0) Christian Kastner, Sven Apel, Gunter Saake
 

Summary: Virtuelle Trennung von Belangen (Pr¨aprozessor 2.0)
Christian K¨astner, Sven Apel, Gunter Saake
{kaestner,saake}@iti.cs.uni-magdeburg.de, apel@uni-passau.de
Abstract: Bedingte Kompilierung mit Pr¨aprozessoren wie cpp ist ein einfaches, aber
wirksames Mittel zur Implementierung von Variabilit¨at in Softwareproduktlinien. Durch
das Annotieren von Code-Fragmenten mit #ifdef und #endif k¨onnen verschiedene Pro-
grammvarianten mit oder ohne diesen Fragmenten generiert werden. Obwohl Pr¨apro-
zessoren h¨aufig in der Praxis verwendet werden, werden sie oft f¨ur ihre negativen
Auswirkungen auf Codequalit¨at und Wartbarkeit kritisiert. Im Gegensatz zu modularen
Implementierungen, etwa mit Komponenten oder Aspekte, vernachl¨assigen Pr¨aprozes-
soren die Trennung von Belangen im Quelltext, sind anf¨allig f¨ur subtile Fehler und
verschlechtern die Lesbarkeit des Quellcodes. Wir zeigen, wie einfache Werkzeugun-
terst¨utzung diese Probleme adressieren und zum Teil beheben bzw. die Vorteile einer
modularen Implementierung emulieren kann. Gleichzeitig zeigen wir Vorteile von
Pr¨aprozessoren wie Einfachheit und Sprachunabh¨angigkeit auf.
1 Einleitung
Der C-Pr¨aprozessor cpp und ¨ahnliche Werkzeuge1
werden in der Praxis h¨aufig verwendet,
um Variabilit¨at zu implementieren. Quelltextfragmente, die mit #ifdef und #endif anno-
tiert werden, k¨onnen sp¨ater beim ¨Ubersetzungsvorgang ausgeschlossen werden. Durch

  

Source: Apel, Sven - Fakultät für Informatik und Mathematik, Universität Passau

 

Collections: Computer Technologies and Information Sciences