Clean Code in Java
Clean Code meint Programm-Code, der nicht unnötig kompliziert ist. Hier findest du einige Möglichkeiten, dein Programm unnötig "aufzublasen".Tags: Java | Programmieren lernenWorum geht´s?
Der Begriff „Clean Code“ steht für Programmier-Code, der möglichst übersichtlich formatiert ist, vor allem aber unnötigen Ballast vermeidet.
Du kannst es vergleichen mit Brüchen in der Mathematik. Natürlich ist es möglich,
4 43/86 – 81/9 + 5,5
zu schreiben.
Aber stattdessen
1
zu schreiben (kürzen hilft!) macht die Sache erheblich einfacher. Vor allem, wenn das Ganze in einer komplexen Gleichung vorkommt, die ohnehin schon schwer genug zu lösen ist.
Ganz ähnlich geht es auch in der Programmierung darum, den Code dort, wo es leicht geht, auch möglichst simpel zu halten.
Die folgenden Beispiele sind nur einige häufig vorkommende „überflüssige“ Schreibweisen.
1. boolean-Werte mit == vergleichen
boolean b = true; if (b == true) { } if (b) { }
Beides geht, die untere Variante ist aber viel kürzer.
Soll mit == false verglichen werden, verwende
if (!b) { }
2. {}-Klammern, wo nur 1 Anweisung steht
if (b) { System.out.println("Yehaa"); } if (b) System.out.println("Yehaa");
Beides ist möglich, aber die untere Version spart eine Zeile.
Achtung: Falls du die untere Version benutzt, achte zwingend auf die richtige Einrückung!!
3. Kein else if verwendet, obwohl möglich
if (b) { System.out.println("Yehaa"); } else { if (!b) { System.out.println("kein Yehaa"); } }
Den obigen Code kann man kürzen, in dem man die {-Klammer nach dem else entfernt und die letzte }-Klammer ebenso:
if (b) { System.out.println("Yehaa"); } else if (!b) { System.out.println("kein Yehaa"); }
4. Im else erneut etwas überprüfen, was durch das else schon klar ist
Im obigen Beispiel wurde zwar nun durch das else if etwas eingespart, aber eigentlich macht es keinen Sinn, nochmal zu überprüfen, ob b false ist. Wäre es true, wäre das Programm ja in den if-Block gegangen und nicht in den else-Block.
Daher können wir die Überprüfung auf das !b entfernen:
if (b) { System.out.println("Yehaa"); } else { System.out.println("kein Yehaa"); }
5. switch case verwenden, wo if besser ist
switch (a) { case 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20: System.out.println("Yehaa"); break; default: System.out.println("kein Yehaa"); }
Wir können uns glücklich schätzen, dass wir nur bis 20 schreiben mussten.
Das if dazu:
if (a >= 1 && a <= 21) { System.out.println("Yehaa"); } else { System.out.println("kein Yehaa"); }
Wenn du dir nicht sicher bist, was besser ist, dann nimm if.
6. Unendlich lange Variablen-Namen
int dieVariableDieIchNochNieAllZuSehrMochteAberTrotzdemVerwendete = 7; if (dieVariableDieIchNochNieAllZuSehrMochteAberTrotzdemVerwendete >= 1 && dieVariableDieIchNochNieAllZuSehrMochteAberTrotzdemVerwendete <= 21) { System.out.println("Yehaa"); } else { System.out.println("kein Yehaa"); }
7. Nichtssagende Variablen-Namen
int a = 7; // a steht für die Anzahl der Brote int b = 3; // b steht für die Anzahl der Äpfel
Grundregel: Wenn du anfängst, Kommentare zu deinen Variablen zu schreiben um dir merken zu können wofür die Variable steht, dann hat sie einen zu wenig aussagekräftigen Namen.
Es gibt sicher noch viel mehr Varianten, einen Programmcode unnötig kompliziert zu machen, aber das soll für den Anfang mal reichen.
Weitere Vorschläge bitte gerne per Mail an mich 🙂