AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Programmierdogmata

Ein Thema von Delphi-Laie · begonnen am 7. Apr 2013 · letzter Beitrag vom 8. Apr 2013
Antwort Antwort
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#1

AW: Programmierdogmata

  Alt 8. Apr 2013, 11:25
Was ist für einen Newbie schlimm, sich an Dogmen (Mehrzahl von Dogma) zu halten? Diese Regeln (oder nenne es Dogmen, meine Güte) sind von Leuten erdacht, die 30+ Jahre programmieren und folglich die Essenz aus den Erfahrungen, die Du erst machen musst. Also: Partizipiere!
Die "alten Säcke" tun sich da schwerer, weil sie mit einigen Erfahrungen vorbelastet sind.
1) GOTO ist für mich ebenso wie ein Break eine Todsünde. Allerdings muß ich gestehen, das ich Sourcen gesehen habe wo beides augenscheinlich sinnvoll eingesetzt wurde.

2) Globale Variablen sind zu vermeiden, manchmal geht es allerdings nicht ohne.

3) Oberfläche und Berechnung trennen. Spätestens wenn eine zusätzliche oder abgeänderte Funktionalität benötigt wird, oder aber z.B. die darunterliegende DB sich ändert, erkennt man die Notwendigkeit dieser Trennung.

4) Code Formatieren ist reiner Selbsschutz, da dann der Code leichter zu überblicken ist. Ob man
Delphi-Quellcode:
if b then
  begin
  end
oder
Delphi-Quellcode:
if b then begin
end
nutzt ist meiner Meinung nach Geschmackssache, hingegen
Delphi-Quellcode:
var
  i,j,k,l,cnt,top,base : integer;
ist nicht so toll.

Gruß
K-H

a
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Programmierdogmata

  Alt 8. Apr 2013, 11:29
@p80286

Nenn doch mal ein Beispiel, wo eine globale Variable sinnvoll ist.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Programmierdogmata

  Alt 8. Apr 2013, 11:45
@p80286

Nenn doch mal ein Beispiel, wo eine globale Variable sinnvoll ist.
Wenn Du z.B einen "Aufrufzähler" benötigst. Und jetzt sag nicht "das gehört in Form" bei einem Konsolenprogramm hast Du so etwas nicht. Ein anderes Beispiel wäre der Name einer Protokolldatei auch wenn er in der "Base-Date-Unit" untergebracht wurde.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Caps

Registriert seit: 23. Mär 2006
Ort: Leipzig
299 Beiträge
 
#4

AW: Programmierdogmata

  Alt 8. Apr 2013, 11:35
Hallo,

ich muss sagen ich glaube daran, dass nur die eigenen Erfahrungen einem selbst wirklich etwas bringen. Mir ist auch erst durch das Anpassenmüssen fremden Codes klar geworden, wie schlecht nachvollziehbar das Verhalten eines Programms sein kann, wenn globale Variablen innerhalb einer Routine gesetzt werden (und nicht Objektfelder sind oder in der Signatur übergeben werden) und damit Auswirkungen auf alles mögliche andere hat - man sucht sich den Wolf, bis man kapiert hat, wo der Hase langläuft.

Vorher hatte ich überhaupt kein Problem mit globalen Variablen zum Beispiel. Ich setze auf die Erfahrung, es abstrakt zu vermitteln ist meiner Ansicht nach schwierig.

Beste Grüße
Caps
"Der Mode cmCFS8 ist prohibitär und von mir entwickelt."
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz