Ein Beispiel:
Wenn ich die
API Funktion GetServiceTimes verwende, benötigt man für das Programm mindestens XP mit SP3. Statt deshalb eine Prüfung einzubauen, ob es sich mindestens um XP mit SP3 handelt, prüfe ich einfach ob die benötigte Funktion da ist. Ist sie es nicht, fehlt sie mir, ergo zeige ich einen Fehler an, dass das System nicht unterstützt wird.
Wenn man das konsequent durchzieht besteht der Quellcode am Ende zu 90% aus Versionsprüfungen. Ob das ein vernünftiges Ziel ist?
Ich gehe bei MS davon aus das nur neue Funktionen dazukommen und abgekündigte Funktionen noch einige Zeit existieren. Seit dem wir nicht mehr
Win9x existieren sind gefühlt 90% der Versionsprüfungen aus dem Quellcode rausgeflogen.
Bei Apple würde m.E. diese Prüfung auch nichts bringen da dann die Anwendung vermutlich gar nicht zugelassen würde. Da muss dann der Code ganz raus.
Windows Vista - Eine neue Erfahrung in Fehlern.