Einsendung:Lösungsvorschlaghier die wahrscheinlich kürzeste Lösung...
Geht es noch kürzer? Naja. Ein ganz klein wenig kürzer vielleicht. Aber das ist nicht so wichtig. Wichtig wäre es, die magic numbers (das sind Zahlen, die im Code stehen, und deren Herkunft nicht so einfach ersichtlich ist ) aus dem Code herauszuholen. Eigentlich sind alle Zahlen im Code außer 0, 1 und -1 magic numbers und sollten vermieden werden. Das ist übrigens der Grund dafür, daß ich in diesem Kurs alle Zahlen rot darstelle.
Jetzt benutzen Sie immer, wenn es geht, die range-Funktion. Außerdem macht der Compiler (habe ich in der Lektion doch geschrieben) keinen Unterschied zwischen 'A' und 65. Also schreiben Sie einfach 'A', und der Code wird leichter zu lesen sein:
Jetzt noch die magic number 32 herausholen:
Im Vergleich zu den Profi-Lösungen sind diese Vorschläge aber noch Waisenkinder. War es klug, in tolower() und toupper() die Funktionen isupper() und islower() zu benutzen? Das war klug. Immer volle Pulle benutzen! Oder hätte ich da die Abfrage besser "manuell" gemacht? Ich meine, es könnte doch sein, daß jemand nur tolower() in seinem Code wiederverwenden will und dann einfach die Funktion herauskopiert. Da sie jedoch abhängig von der anderen Funktion ist, gäbe es dann Probleme. Was ist nun besser? Das macht er nicht. Sie werden für sich schon die Funktionen so plazieren, daß Sie sie immer wieder verwenden können. Dann können es andere auch. Damit meine ich (bald kommt es auch in den Lektionen): Sie bauen sich eigene include-Dateien mit solchen Funktionen wie tolower und toupper und inkludieren sie einfach, wenn Sie die Funktionen verwenden wollen. In der Datei, wo tolower() und toupper() stehen, da stehen auch isupper() und islower(). Falls Ihnen Fehler im Text auffallen oder Sie Verbesserungsvorschläge haben, dann schicken Sie mir bitte eine Mail. Ich werde mich dann sofort darum kümmern. [aktuelle Version] [inhalt] [index] [Fehlerkorrektur, Verbesserungsvorschlag] © Volkard Henkel <volkard@normannia.de>, last update: 08/25/00 |