Die re:publica wirkt nach. Deswegen möchte ich auch weiterhin allen Null- und Hilfscheckerbunnys ein bisschen was über Programmierung erklären. Heute zum Beispiel etwas über leider unnötige If-Verzweigungen im Alltag.
„Wenn der mitkommt, fahren wir um Viertel vor acht los“, sagt der Mann, als ich schon mit Körbchen zum Einkaufen bereit im Flur stehe.
„Wer? Der Rolf?“ frage ich.
„Ja.“
Wie wir im Nullcheckerbunnykurs gelernt haben, gibt es in der Programmierung sowas wie If-Konditionen. Wer schon mal ein bisschen mit Excel rumgespielt hat, wird dort vielleicht auch schon mal über diese WENN-DANN-Konstrukte gestolpert sein. Eine If-Kondition oder -Verzweigung fragt nach einer Bedingung. Ist diese korrekt, schlägt sie einen bestimmten Pfad im Programmablauf ein. Ist sie nicht korrekt, wird entweder nach einer anderen Bedingung gefragt (else if), es wird einfach etwas anderes gemacht (else) oder es passiert gar nichts besonderes und es geht weiter im Programm.
In diesem Fall hätten wir also:
var Abfahrtszeit;
if (RolfKommtMit == true){
Abfahrtszeit = "19:45 Uhr";
}
Jetzt muss man natürlich noch wissen, dass man sich den zweiten Teil der Bedingung sparen kann. Gesetzt den Fall, dass Rolf mitkommt, ist der Wert der Variablen RolfKommtMit
ja true
, die Abfrage ist also übersetzt if (true == true)
. Folgendes reicht also völlig aus:
var Abfahrtszeit;
if (RolfKommtMit){
Abfahrtszeit = "19:45 Uhr";
}
An dieser Stelle fangen wir jetzt an, wie ein Programmierer zu denken. Denn wir möchten ja auch wissen, wann Abfahrtszeit ist, wenn Rolf nicht mitkommt. Anders gesagt: Wir brauchen noch ein else
für unseren Code, weil wir ansonsten gar nicht losfahren. Das wäre doof.
Ich frage also: „Und was, wenn Rolf nicht mitkommt?“
„Dann fahren wir auch um 19:45 Uhr los.“
Also:
var Abfahrtszeit;
if (RolfKommtMit){
Abfahrtszeit = "19:45 Uhr";
}
else{
Abfahrtszeit = "19:45 Uhr";
}
Hm.
Aufmerksamen Bunnys ist vielleicht schon etwas aufgefallen: Egal, was passiert, die Abfahrtszeit ist immer 19:45 Uhr. So wichtig es oft genug ist, an dieser Stelle brauchen wir dieses ganze If-und-Else-Zeug gar nicht und wir schreiben:
var Abfahrtszeit = "19:45 Uhr";
Damit merken wir auch: Es ist wumpe, ob Rolf mitkommt oder nicht. Diese Information hat auf die weitere Abendplanung zunächst überhaupt keinen Einfluss und unsere schöne Variable RolfKommtMit
wird gelöscht und ward nicht mehr gesehen. An dieser Stelle soll aber auch Schluss sein mit Programmieranalogien, denn in der Realität freuen wir uns natürlich, wenn Rolf mitkommt und es ist uns keineswegs egal. Nur für die Abfahrtszeit bleibt die Information irrelevant. Denn wir fahren ja so oder so um 19:45 Uhr los.