Ich weiß, es scheint seltsam zu sagen, aber ein Arbeitskollege hat absichtlich ein paar schlechte Programmierpraktiken angewendet! Ich erkläre es. Lassen Sie mich zunächst sagen, dass er ein intelligenter Typ ist und größtenteils verständlichen Code schreibt.
Er wurde gebeten, Lizenzen für ein in Java geschriebenes Webanwendungsprojekt zu implementieren. Da es sich um Java handelt, könnte man, wenn man es wirklich wollte, wahrscheinlich die Gläser öffnen und die Namen der darin geschriebenen Klassen und Methoden lesen. Seine Lösung für dieses Problem bestand darin, Variablen und Methoden buchstäblich als weniger offensichtliche Namen zu bezeichnen und sie in bereits überlastete Klassen einzufügen, anstatt neue Klassen zu generieren.
Er begründete dies damit, dass ein Hacker, der bestimmte Klassen ausschalten wollte, um Lizenzprüfungen zu umgehen (und daher eine kostenlose Kopie des Produkts zu erhalten), eine weitaus schwierigere Zeit damit haben würde, wenn nicht klar wäre, welche Methoden zur Anwendung kamen diese besonderen Aufgaben ausführen. Erst nachdem er es getan hatte, konfrontierte ich ihn damit und schlug vor, dass wir vielleicht eine Art Verschleierungsbibliothek kaufen könnten, um es für uns zu tun, während wir gute Programmierpraktiken beibehielten. Er behauptet, weder Zeit noch Ressourcen gehabt zu haben, um nach einer solchen Lösung zu suchen.
..Das lässt mich in einem Dilemma. Suche ich nach einer Obfuscator-Bibliothek in Java und repariere seinen alten Code (der beim Umbau seines Codes etwas heikel sein könnte), oder lasse ich ihn so, wie es mich bis zum Äußersten irritiert?