Weekly Coding Question - Coding Conventions - Fluch oder Segen
Vorweg will ich direkt anmerken, dass Coding Conventions natürlich mehr Fluch als Segen sind, aber vor kurzem hatte ich bei einem meiner privaten Projekte einen interessanten Moment. Es geht um meine App FileSize open_in_new, welche ich aktuell umfangreich überarbeite und erweitere, sodass ich nach Möglichkeit innerhalb dieses Monats die Version 3.0 veröffentlichen kann. Dafür setze ich auf neuere Techniken, wende mein neues Wissen an und versuche sowohl meine neuen “internen” Coding Conventions zu nutzen, wie auch gemäß den Google Design Guidelines open_in_new zu programmieren. Soweit klingt das meiner Meinung nach sinnvoll, doch nun komme ich zum oben erwähnten Moment. Ich programmierte gerade eine RecyclerView open_in_new, welche bei mir die normalen ListViews open_in_new ersetzen soll und alles funktionierte nach etwas Recherche gut. Doch dann wollte ich die verschiedenen involvierten Komponenten abstrahieren, sodass ich sie an anderen Stellen wiederverwenden kann. Früher hätte ich einfach die Klassen kopiert und entsprechend angepasst. Das ist natürlich unschön, doch es würde gehen. Bei meinem Versuch der Abstrahierung stoß ich auf diverse Probleme, da die Struktur der RecyclerView etwas komplexer ist. Somit verlor ich zwei Stunden, ohne wirklichen Fortschritt.
Das brachte mich zu dem Gedanken ob Coding Conventions manchmal auch eher hinderlich, als hilfreich sein können. Im ersten Moment überlegte ich, doch wieder Quick and Dirty zu programmieren, ließ dies aber und machte einfach eine Pause. Diese Entscheidung war gut, denn heute entdeckte ich schnell die Probleme und konnte die neuen Klassen direkt an diversen Stellen nutzen. Der größere initiale Aufwand hat sich also gelohnt und belohnte mich final nicht nur mit einer gute Wiederverwendbarkeit der erstellten Strukturen, mehr oder weniger automatisch während der Entwicklung, trat auch eine sehr klare Trennung zwischen Design und Logik auf. Für mich eine kleine interne Bestätigung, dass meine Idee nicht die schlechteste gewesen sein kann. Wie sieht es bei euch aus, hattet auch ihr schon solche Momente und schreibt ihr eher Quick and Dirty oder gemäß Coding Conventions?