Eine C++-Codeüberprüfung offenbarte ein besorgniserregendes Muster, das Getters und Setters betraf. Die Methode getField, die eigentlich ein einfacher Getter sein sollte, rief unerwartet eine Funktion setGetField auf. Diese Funktion setGetField nutzte ein boolsches Flag, um zu bestimmen, ob ein Wert gesetzt oder gelesen werden soll. Schlimmer noch, der Wert wurde in einer statischen Variable innerhalb von setGetField gespeichert. Die statische Variable führte dazu, dass der Wert über alle Instanzen der Klasse hinweg geteilt wurde, wodurch effektiv ein Singleton erzeugt wurde. Die erste Reaktion des Prüfers war Ungläubigkeit, er vermutete einen Scherz. Das wiederholte Auftreten dieses Musters führte jedoch zu Frustration und Fragen nach der Kompetenz der Entwickler und den Einstellungspraktiken. Die wiederholte Verwendung dieses fehlerhaften Musters verdeutlichte ernsthafte Bedenken hinsichtlich der Qualität der Codebasis und des Verständnisses der Entwickler grundlegender Programmierprinzipien. Das Problem konzentriert sich auf mangelhafte Kapselung und die unbeabsichtigten Folgen der Verwendung statischer Variablen innerhalb von Klassenmethoden. Das Design des Codes führte zu einem gemeinsam genutzten Zustand über alle Instanzen hinweg, was gegen grundlegende OOP-Prinzipien verstößt.
getField, die eigentlich ein einfacher Getter sein sollte, rief unerwartet eine FunktionsetGetFieldauf. Diese FunktionsetGetFieldnutzte ein boolsches Flag, um zu bestimmen, ob ein Wert gesetzt oder gelesen werden soll. Schlimmer noch, der Wert wurde in einer statischen Variable innerhalb vonsetGetFieldgespeichert. Die statische Variable führte dazu, dass der Wert über alle Instanzen der Klasse hinweg geteilt wurde, wodurch effektiv ein Singleton erzeugt wurde. Die erste Reaktion des Prüfers war Ungläubigkeit, er vermutete einen Scherz. Das wiederholte Auftreten dieses Musters führte jedoch zu Frustration und Fragen nach der Kompetenz der Entwickler und den Einstellungspraktiken. Die wiederholte Verwendung dieses fehlerhaften Musters verdeutlichte ernsthafte Bedenken hinsichtlich der Qualität der Codebasis und des Verständnisses der Entwickler grundlegender Programmierprinzipien. Das Problem konzentriert sich auf mangelhafte Kapselung und die unbeabsichtigten Folgen der Verwendung statischer Variablen innerhalb von Klassenmethoden. Das Design des Codes führte zu einem gemeinsam genutzten Zustand über alle Instanzen hinweg, was gegen grundlegende OOP-Prinzipien verstößt.