Globale Variablen sinnvoll?
Übersicht

Gray FoxBetreff: Globale Variablen sinnvoll? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Steinigt mich bitte nicht, falls es diese Fragen schon öfters gab ![]() Mein C++ Lehrer meint, man solle auf globale Variablen verzichten, wäre besser für die Übersicht und erleichtert bei größeren Projekten die Parameterübergabe an die einzelnen Funktionen, falls mehrere Leute an diesem Projekt mitarbeiten sollten. Außerdem meint er in dem Zusammenhang sollte man so viel wie möglich in Funktionen auslagern. Mich würde interessieren wie ihr dazu steht? Hat er recht oder ist hier BB != C++? |
||
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Variablen, die man echt oft braucht, sollte man global machen. Es ist doof, wenn man 20 Funktionen für ein Raumschiff hat, und diesen jedesmal Position,Geschwindigkeit , richtung etc. sagen muss. Ansonsten stimmt das, denn man kann die Variablen in FUnctions nicht durcheinanderbringen. | ||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
Gray Fox |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Blitzcoder hat Folgendes geschrieben: Die Variablen, die man echt oft braucht, sollte man global machen. Es ist doof, wenn man 20 Funktionen für ein Raumschiff hat, und diesen jedesmal Position,Geschwindigkeit , richtung etc. sagen muss. Ansonsten stimmt das, denn man kann die Variablen in FUnctions nicht durcheinanderbringen.
Gibt es irgendwo eine kleine Übersicht mit ein paar Tips zur Struktierung in BB? Ich progge immer drauf los, klappt zwar eigentlich immer. Sieht aber nur aus wie unter aller Sau ![]() |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich vermeide globalen wo ich nur kann, denn es stimmt schon was dein Lehrer sagt. Jede Globale birgt die Gefahr dass sie irgendwo in deinem Code unkontrolliert manipuliert wird. Das macht bei großen Codes die Fehlersuche extremst schwer. Eine Funktion bietet dir da Sicherheit, da alle Fehler die Funktion betreffend nur in ihrem Gültigkeitsbereich entstehen können.
Das ist allgemeingültig, BB macht also keine Ausnahme. Natürlich kann man globale nicht generell verteufeln - manchmal müsste man aberwitzige Konstrukte bauen um auf eine Globale zu verzichten. Dann sollte man ihr doch den Vorzug geben. Was sehr hilfreich sein kann ist eine feste Notation zu nutzen, damit man wenigstens sehr überlegt mit seinen Vars umgeht - so bietet sie ein G_varname für Globale an - der Großbuchstabe fällt auf und ist eindeutig. Noch besser ist allerdings auch noch ein Kürzel für den Variablentyp anzugeben. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Gray Fox |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja an der Notation muss ich noch arbeiten :/
Was mich auch sehr stört, ist die IDE von BB (3D), gibt es eine Möglichkeit in der Konfigdatei einzustellen, dass die Keywords fett dargestellt werden? Wie z.B. bei Visual C++/Borland C++. Möchte jetzt nicht direkt auf eine andere IDE umsteigen, denn mir würde schon eine Borland ähnliche IDE reichen. Btw. Grafiken sollten aber global geladen werden? |
||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei Grafiken arbeite ich immer mit Dim-Feldern und Konstanten. Wobei das eigentlich wenige Unterschiede macht. | ||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
Gray Fox |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
StepTiger hat Folgendes geschrieben: Bei Grafiken arbeite ich immer mit Dim-Feldern und Konstanten. Wobei das eigentlich wenige Unterschiede macht.
Konstanten sind doch einfach Variablen, deren Inhalt während dem Betrieb des Programmes nicht mehr geändert werden können oder gibt es da noch andere Unterschiede? |
||
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
constanten sind IMMER Global, genau wie arrays...
MfG |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
Gray Fox |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
5k41 hat Folgendes geschrieben: constanten sind IMMER Global, genau wie arrays...
MfG Danke für die Info. Mein Spaghetticode ärgert mich teilweise schon. |
||
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Als IDE kann ich dir Blitz Edit 2 ans Herz legen. Wird aber leider nicht mehr weiterentwickelt. www.future-coding.de. Dann gibt es noch Visual Blitz, welches auch sehr gut ist. Hier ist eine IDE-Liste : http://blitzbasic.com/toolbox/toolbox.php?cat=11 | ||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
Gray Fox |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Blitzcoder hat Folgendes geschrieben: Als IDE kann ich dir Blitz Edit 2 ans Herz legen. Wird aber leider nicht mehr weiterentwickelt. www.future-coding.de. Dann gibt es noch Visual Blitz, welches auch sehr gut ist. Hier ist eine IDE-Liste : http://blitzbasic.com/toolbox/toolbox.php?cat=11
Danke, werde sie mal durchprobieren ![]() |
||
![]() |
Dreiser |
![]() Antworten mit Zitat ![]() |
---|---|---|
Teste mal die Protean-IDE. Dort kannst Du im "Scheme Editor" die keywords fett einstellen. | ||
Gray Fox |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dreiser hat Folgendes geschrieben: Teste mal die Protean-IDE. Dort kannst Du im "Scheme Editor" die keywords fett einstellen.
danke für den Tip, aber in der BIDE Ide ging es auch ![]() |
||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
5k41 hat Folgendes geschrieben: constanten sind IMMER Global, genau wie arrays...
MfG Richtig. Aber die kann man nicht versehentlich ändern. |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
ist mir klar ![]() MfG |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
![]() |
FireballFlame |
![]() Antworten mit Zitat ![]() |
---|---|---|
Gray Fox hat Folgendes geschrieben: Konstanten sind doch einfach Variablen, deren Inhalt während dem Betrieb des Programmes nicht mehr geändert werden können oder gibt es da noch andere Unterschiede?
So ungefähr. Eine Konstante ist aber keine Variable sondern sozusagen bloß ein "Name" für irgendeine Zahl. Und damit sind Konstanten schneller als Variablen. |
||
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit |
![]() |
pixelshooter |
![]() Antworten mit Zitat ![]() |
---|---|---|
werden konstanten mit ihrem namen eigentlich mitkompiliert od kann man den namen dann net mehr rausfinden? | ||
>> Musikerstellung, Grafik und Design: http://www.pixelshooter.net.tc |
![]() |
PowerProgrammer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich glaube, du hast die Funktionsweise von Konstanten nicht verstanden. Die kann man natürlich nicht zurückverfolgen. Auch Variablen werden durch Adressen ausgetauscht (glaube ich, weiß ich...).
Mfg |
||
www.xairro.com Alles für Webmaster und Programmierer! Es gibt mehr als bloß einen Counter! |
![]() |
pixelshooter |
![]() Antworten mit Zitat ![]() |
---|---|---|
naja, normalerweise kann man sein prog z.b. durch variable-namen wiedererkennen (-> urherhebererkennung) | ||
>> Musikerstellung, Grafik und Design: http://www.pixelshooter.net.tc |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group