AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Globale Variablen - warum in der DP so verpönt?
Thema durchsuchen
Ansicht
Themen-Optionen

Globale Variablen - warum in der DP so verpönt?

Ein Thema von new4toms · begonnen am 8. Mai 2005 · letzter Beitrag vom 13. Mai 2005
Antwort Antwort
Seite 4 von 9   « Erste     234 56     Letzte »    
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#31

Re: Globale Variablen - warum in der DP so verpönt?

  Alt 9. Mai 2005, 12:01
Zitat von SubData:
Die Variablen werden wärend der Laufzeit noch nichmal geändert -g-
Na dann waere eine Options-Klasse mit readonly-Properties genau das richtige. So verhinderst du auch zufaelliges Ueberschreiben der Werte
Ausserdem koennte deine Klasse das Laden und Speichern uebernehmen
Fuer mich ist sowas Geschmacksache, ich habe in den letzten Wochen angefangen, alles in Klassen zu verpacken

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Delphi_Fanatic

Registriert seit: 24. Mär 2004
201 Beiträge
 
#32

Re: Globale Variablen - warum in der DP so verpönt?

  Alt 9. Mai 2005, 12:26
Zitat:
So verhinderst du auch zufaelliges Ueberschreiben der Werte
Sagt mal, Leute, was habt Ihr hier in diesem Thread eigentlich andauernd mit Euren "versehentlichem" oder "zufälligem" Überschreiben irgendwelcher Werte ?



Man wird doch wohl als auch nur halbwegs erfahrener Programmierer kontrollieren können, WANN man WO WELCHE Werte hinschreibt.

Aber jetzt deswegen eine eigene Klasse / Objekt zu definieren, nur weil man befürchtet, man könne irgendwann versehentlich
mal eine Varibale überklatschen ... das ist schon wirklich eine etwas merkwürdige Vorgehensweise.

Zitat:
Ausserdem koennte deine Klasse das Laden und Speichern uebernehmen
Vielleicht könnte das Sinn machen bei etwas spezielleren Sachen, meinetwegen wenn er z.B. eine StringList in eine Ini-Datei kriegen muss oder so... aber wenn die Variablen nur irgendwelche Standard-Formate haben, meinetwegen Strings oder Integers ... wo sollte dann der Vorteil einer eigenen Klasse gegenüber einem normalen
<myinifile>.WriteString / <myinifile>.WriteInteger liegen ?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#33

Re: Globale Variablen - warum in der DP so verpönt?

  Alt 9. Mai 2005, 12:30
Zitat von Delphi_Fanatic:
Man wird doch wohl als auch nur halbwegs erfahrener Programmierer kontrollieren können, WANN man WO WELCHE Werte hinschreibt.
Als einzelner Entwickler an einem übersichtlichen, kleinen Projekt vielleicht, aber wenn du vier oder mehr Units hast und zu dritt an dem Projekt arbeitest, passiert das ganz schnell. Und dann viel Spass bei der Fehlersuche, wenn du dich noch durch die Unis der anderen Programmierer durchwühlen darfst.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#34

Re: Globale Variablen - warum in der DP so verpönt?

  Alt 9. Mai 2005, 12:33
Hast du schon mal ein Projekt mit mehreren Entwicklern gemacht?
Versehentliches Ueberschreiben kommt auch vor wenn man eine Hilfsvariable fuer eine Komponente global anlegt und dann
nur mit einer Instanz der Komponente testet. Der gleichzeitige Zugriff bleibt dann ungetestet.
Dies ist ein haeufiger Fehler, der auch dir passieren kann. Du zeigst mit deinen Formulierungen nicht deine Befaehigugung sondern deine Unerfahrenheit.
  Mit Zitat antworten Zitat
Benutzerbild von Speedmaster
Speedmaster

Registriert seit: 4. Mär 2005
Ort: Karlsruhe
535 Beiträge
 
Delphi 2005 Personal
 
#35

Re: Globale Variablen - warum in der DP so verpönt?

  Alt 9. Mai 2005, 12:39
Globale Variablen nicht zu verwenden ist IMHO großer Schwachsinn, wie willst du den sonst z.b. dass Sinnvolle Arbeiten mit Log Dateien realisieren??

Und zum Thema Werte überschreiben:
Wenn Werte überschrieben werden zeugt das nur davon das das Projekt nicht durchdacht ist, und kein Standart da ist.
Ich z.b. gebe wenn ich eine Globale Variable benutze, ihr immer den Namen der Klasse minus das "T".

Wenn das Programm richtig Strukturiert ist braucht man Klassen nur einmal Global, sonst eben Lokal in einer Klasse, wobei man dort eventuelle Probleme einfach lößen kann indem man z.b. ein "v" vor jede Variable setzt die nur in dieser Klasse benutz wird!
Felix K.
Zitat:
Siehst du diesen Park da unten?
Jeden Tag lernen sich leute kennen und verlassen einander, und du hast dein ganzes Leben Zeit darin zu gehen!
  Mit Zitat antworten Zitat
Delphi_Fanatic

Registriert seit: 24. Mär 2004
201 Beiträge
 
#36

Re: Globale Variablen - warum in der DP so verpönt?

  Alt 9. Mai 2005, 12:47
Zitat:
aber wenn du vier oder mehr Units hast und zu dritt an dem Projekt arbeitest, passiert das ganz schnell.
Tatsächlich ? Also ich arbeite hier mit 4 weiteren Kollegen an einem Projekt das 90 Formulare und ca. 140 Units (also reine *.pas-Dateien ohne dfm) hat und solche Probleme mit versehentlichem Überschreiben irgendwelcher globaler Variablen sind mir völlig fremd.
Wie gesagt - OOP in allen Ehren, es geht gar nicht OHNE, aber man muss solche Konzepte nun auch nicht auf Krampf irgendwo
rein drängen, wo man damit eigentlich gar nichts damit vereinfacht und wo man damit auch nirgendswo die Pflegbarkeit / Lesbarkeit / Qualität des Quelltextes erhöht.
  Mit Zitat antworten Zitat
Delphi_Fanatic

Registriert seit: 24. Mär 2004
201 Beiträge
 
#37

Re: Globale Variablen - warum in der DP so verpönt?

  Alt 9. Mai 2005, 12:49
Zitat:
Wenn Werte überschrieben werden zeugt das nur davon das das Projekt nicht durchdacht ist, und kein Standart da ist
Dem schliesse ich mich voll und ganz an !
Wie "qualitativ hochwertig" und leicht pflegbar ein Quelltext ist - das hängt viel mehr von der allgemeinen
Anwendungsarchitektur ab und vor allem auch davon , ob und welche Programmier-Standards- und Richtlinien man vorher festgelegt hat.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#38

Re: Globale Variablen - warum in der DP so verpönt?

  Alt 9. Mai 2005, 12:50
Zitat von Speedmaster:
Globale Variablen nicht zu verwenden ist IMHO großer Schwachsinn, wie willst du den sonst z.b. dass Sinnvolle Arbeiten mit Log Dateien realisieren??
Wenn du dafür eine globale variable brauchst, machst du definitiv was falsch oder hast das Prinzip von OOP nicht verstanden.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#39

Re: Globale Variablen - warum in der DP so verpönt?

  Alt 9. Mai 2005, 12:58
Jetzt konnte ich' doch nicht lassen...

Zitat von Speedmaster:
Globale Variablen nicht zu verwenden ist IMHO großer Schwachsinn, wie willst du den sonst z.b. dass Sinnvolle Arbeiten mit Log Dateien realisieren??
Habe ich oben geschrieben.

Zitat von Speedmaster:
Und zum Thema Werte überschreiben:
Wenn Werte überschrieben werden zeugt das nur davon das das Projekt nicht durchdacht ist, und kein Standart da ist.
Ich z.b. gebe wenn ich eine Globale Variable benutze, ihr immer den Namen der Klasse minus das "T".
Komisch... Wisst ihr überhaupt wie es zu dem T kam?
Wenn du in einer klasse eine Property mit einer bestimmten anderen Klasse haben willst ist es nunmal am hübschesten Property und Klasse gleich zu benennen. Da das gegen das Eindeutigkeitsprinzip von Delphi verstößt fügt man dem Typen ein T vorweg. (Es waren wohl Felder von Records und nicht Klassen und Properties, damas vor 200 Jahren, aber die Idee ist die geliche )
Die Properties heißen heißen also wie der Typ ohne das T. Keine Ahnung wo dein Standard herkommt, es ist ganz sicher kein Standard für andere Delphi-Entwickler!

Warum das v als Prefix sinnlos und alles andere als standardkonform ist, brauche ich wohl nicht erwähnen, oder?

Zitat von SubData:
Hab nämlich irgendwie keine Lust für gerade mal 2 Nur-Lesen Variablen auch noch Klasse anzulegen ...
Hmm... Schonmal von Vererbung und Polymorphy gehört?
Damit kann man nämlich prima Dinge wiederverwenden ohne sie immer wieder neuerfinden zu müssen.

Ich hättte keinen Bock überall den Zustand dieser Variable zu prüfen. Ich müsste es aber machen, da Ich in gewisser Weise defensiv, und somit fehlervorbeugend, programmieren muss.

@Delphi Fanatic
Meine Packages werden auch von anderen benutzt so wie ich Packages anderer benutze. ( Das traf zumindest auf meine berufliche Win32-Zeit zu, .Net kennt ja zum Glück keine globalen Variablen und lose Funktionen mehr )

Wo kommt man denn hin, wenn Entwickler A einfach so eine globale Variable einführt, weil er zu faul oder zu unfähig ist um es richtig zu machen, auf die ICH nun überall achten muss, weil es eben keinen Kompilierfehler/Laufzeit fehler gibt, wenn ich in einer dummen Situation darauf zugreife.
Die von dir als Spielkram bezeichnete Factory kann nämlich auch verwendet werden um eine Exception in einer dummen Situation auszulösen. Dann merke ich sofort, dass ich da Käse fabriziert habe.
Der Spielkram kann auch automatisch, beim ersten Zugriff, im Hintergrund die INI laden.
Der Spielkram könnte problemlos angepasst werden um ein Neuladen zu bewirken, wenn die Datei in der zwischenzeit geändert wurde.
Der Spielkram versteckt das INI-File vor dem Rest der Applikation, auf die Art könntest du das altmodische INI-File problemlos gegen zm Bsp. eine XML Datei austauschen. OHNE dass sich für den Rest der Applikation auch nur irgendwas ändert.
Der Spielkram könnte auch eine Interface instanz zurückliefern (was er wahrscheinlich sowieso machen würde ), diese kann man auch nicht so einfach zerstören.

Das waren jetzt nur ein paar Argumente, die einfach aufzeigen sollen, dass sich Faulheit beim Programmieren nicht auszahlt.
Was du einmal an ein paar Codezeilen und etwas Designzeit "verschwendest" bekommst du zig-fach zurück, da du eben keinen statischen, fehlerträchtigen und alles mit Bezeichnern überflutentenden "Diät"-Code produzierst. Viele Klassen oder deren Vorgänger wirst du nämlich auch in anderen Projekten wiederverwenden können. Oder innerhalb des gleichen, nur an anderer Stelle.

Modularität ist eine prima Sache, funktioniert aber nur wenn die Logik eines Moduls innerhalb des Moduls bleibt.
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#40

Re: Globale Variablen - warum in der DP so verpönt?

  Alt 9. Mai 2005, 13:13
Zitat:
Wenn Werte überschrieben werden zeugt das nur davon das das Projekt nicht durchdacht ist, und kein Standart da ist.
Ich z.b. gebe wenn ich eine Globale Variable benutze, ihr immer den Namen der Klasse minus das "T".
Dein Deutsch könnte auch nochmal durchdacht werden ... Standard

Hat schliesslich nicht mit irgendeiner Art des Stehens zu tun.

@Thema: Ich kann mich da nur Robert anschliessen
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 9   « Erste     234 56     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz