Weblösungen am Puls der Zeit, innovativ und massgeschneidert.

#Blog

Individualentwicklung

vor 2 Monaten

Joep Neijt

Namensgebung von Objekten im Code

Wie man einen ganzen Nachmittag lang nur über die Benennung von Objekten diskutieren kann

Die richtige Benennung von Objekten

Vor einiger Zeit habe ich mit meinen EntwicklerkollegInnen mehrere Stunden über die Benennung von Objekten in einem neuen Projekt diskutiert.

Doch wie kann es sein, dass ich als Entwickler, wenn ich eigentlich hauptsächlich Code schreiben sollte, einen halben Nachmittag lang mit Kollegen darüber diskutiere, wie wir jetzt die paar Objekte im neuen System nennen sollen? Wir sollen doch Code schreiben und produktiv arbeiten, nicht über Kleinigkeiten wie Namensgebung diskutieren?

Für EntwicklerkollegInnen selbstverständlich, für Aussenstehende vielleicht nicht direkt ersichtlich, sollte man an viel mehr denken als an die technische Lösung des Problems und die korrekte Syntax des Codes. Es geht heutzutage darum, möglichst lesbaren Code zu schreiben, denn als Entwickler liest man täglich viel mehr Code, als man selbst schreibt. Und wenn mehr als eine Person an einem Projekt arbeitet, liest man oftmals auch den Code der Teamkollegen.

Was also, wenn man die Eigenschaften einer Haustüre benennen muss? Einfach, da haben wir ein Material, eine Breite, eine Höhe, Gewicht, etc. Alles Begriffe, welche in der realen Welt vorkommen, bekannt und eindeutig sind. Doch dann kommen die abstrakten Objekte, welche es real gar nicht gibt. Etwas, das vom System nach einem bestimmten ... verarbeitet werden soll und ein ... ergibt. Wie nennt man das "Etwas", welches bearbeitet wird? Und wonach wird es denn verarbeitet? Einem Schema? Ein Arbeitsablauf? Ein Rezept? Und wenn wir nach einem Rezept arbeiten, erhalten wir dann automatisch eine Mahlzeit als Endergebnis? Obwohl wir doch eigentlich bei einem hoch-technischen Thema waren, das gar nichts mit Essen zu tun hat? Und ist der ausführende Teil der Software dann plötzlich ein Koch? Vielleicht wäre dann doch etwas simpleres besser: Belassen wir es doch bei einer Aufgabe, welche nach einem Schema verarbeitet wird und ein Resultat ergibt. Aber Moment, ein Schema kann auch ein Datenbankschema sein... Also sind die Begriffe bereits mit anderen Technologien "belastet", vielleicht gibt es da Verwechslungsgefahr.

Natürlich ist die Begriffswahl hier stark überspitzt, und doch beschäftigen wir uns tagtäglich, wenn auch unbewusst, mit dieser Thematik und ist das Beispiel mit dem Koch auch gar nicht so abwegig. Denn die Konfigurationsmanagement-Software namens "Chef" arbeitet mit "Recipes", welche in einem «Cookbook» gesammelt werden, also genau mit den «Koch-Begriffen» von vorhin.

Hoffentlich sagt mir das Rezept fürs Essen heute Abend aber wie ich Gemüse verarbeite, und nicht, wie ein Haufen Nullen und Einsen etwas Sinnvolles ergeben…