Guten morgen, ich habe mal eine Frage an diejenigen, die schon etwas länger Programmieren (in C). Ich habe ein Projekt, welches mehrere Dateien (Module) hat. Um statische Variablen auszutauschen habe ich getter-/setter-Funktionen erstellt. Frage: Aber wie macht ihr es in dem Modul selber? Greift ihr direkt auf die Variable zu? Oder nimmt ihr dafür auch die getter-/setter-Funktion? Beides funktioniert. Spontan würde ich sagen, ich greife auf die Variable direkt zu (da einfacher). Aber hat das auch irgendwelche Nachteile?
Getter und Setter Funktionen. Globale Variablen sin ein grosses nono und nicht gerne gesehen.
Zum Thema Greif im Modul selbst direkt darauf zu, es könnte Ausnahmen geben wenn vor/nach jedem Zugriff besondere Aktionen erforderlich sind, z.b. eine Synchronisation oder Arbitrierung in irgendeiner Art und Weise.
Ich greife eigentlich immer direkt auf variablen zu. Nur wenn ich etwas öfters brauche, und es umständlich ist, da ran zu kommen, mache ich eventuell eine getter Funktion. Aber das habe ich normalerweise mit Nutzdaten, und die sind bei mir in der Regel nicht global. Global sind bei mir hauptsächlich Metadaten zum Programm selbst. z.B. ein struct mit Funktionszeigern, welches ein Interface darstellt, und diverse Module, die dieses Implementieren, und deshalb eine globale Instanz haben. Oder ein Buffer zum Cachen von Objekten für später. Solche Dinge. Wobei, die sind bei mir meistens dann wiederum statisch, also zwar globale Lebenszeit, aber nur in einem bestimmten Modul sichtbar, usw.
Setter/Getter für den Zugriff von außerhalb, private variable innerhalb. Grund: ich kann so ggfs den Zugriff von außerhalb und innerhalb unterscheiden, je nach Zustand des Moduls auch verbieten oder besonders behandeln..
µC User schrieb: > Getter und Setter Funktionen. > > Globale Variablen sin ein grosses nono und nicht gerne gesehen. Getter und Setter bringen nur dann was, wenn darin auch mehr getan wird als nur die Variable zu lesen und zu schreiben. Wenn das nicht der Fall ist, haben sie keinerlei Vorteil. Die eigentlichen Probleme, die globale Variablen auslösen, bekommt man auch nicht weg, indem man sie halt static macht und dann per Getter und Setter darauf zugreift.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.