Hin und wieder stoße ich beim Review von Code auf kleine seltsame Fragmente, die anders aussehen, als man sie vielleicht erwarten würde. Ein Beispiel ist "der String".equals(str)
anstatt str.equals("der String")
oder 42 == number
anstatt number == 42
. Doch viele davon haben einen durchaus sinnvollen Hintergrund. So verhindert das erste Beispiel eine NullPointerException
, wenn str
null
ist. Und das zweite sorgt für einen Compilerfehler, falls man das zweite =
vergisst und anstelle des Vergleichs aus Versehen eine Zuweisung programmiert.
Lukas Eder hat in diesem Arikel bei den Java Code Geeks ein paar solcher „paranoiden“ Techniken in Java zusammengefasst: Top 10 Useful, Yet Paranoid Java Programming Techniques | Java Code Geeks – 2016. Viele lassen sich allerdings auch direkt auf beliebige andere Sprachen übertragen.
Ich finde tatsächlich alle vorgestellten Ideen sinnvoll und habe viele schon selbst verwendet. Und wenn man ein wenig Erfahrung mit der Programmierung gesammelt hat, kann man den Sinn dahinter auch gut nachvollziehen, vielleicht weil man selbst schon einmal unnötig Zeit mit der Fehlersuche verbracht hat, die bei Einsatz der Beispiele nicht angefallen wäre.
Nutzt du einige der vorgestellten Techniken, um deinen Code weniger fehleranfällig zu machen? Hast du noch weitere Beispiele für „paranoide“ Codefragmente?