AGB  ·  Datenschutz  ·  Impressum  







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

Ist das sauberer Programmierstil?!

Ein Thema von Vitus · begonnen am 7. Jun 2004 · letzter Beitrag vom 7. Jun 2004
Antwort Antwort
Seite 1 von 3  1 23      
Vitus

Registriert seit: 24. Apr 2003
Ort: Auckland, Neuseeland
38 Beiträge
 
Delphi XE2 Professional
 
#1

Ist das sauberer Programmierstil?!

  Alt 7. Jun 2004, 15:31
Hallo zusammen,

ich habe in einem Tutorial etwas in der Art entdeckt:

Delphi-Quellcode:
procedure TTestKlasse.nurEinTest();
  function test(): integer;
  begin
    result := 5;
  end;
begin
  test;
end;
Dieses Einbetten einer Routine in eine andere sieht für mich ziemlich krank aus...
Ist das normal?!? Nutzt das jemand? Macht es Sinn? (damit meine ich nicht diese unsinnige Prozedur )

Würde mich mal interessieren...
Gott segne diese Heiden! [Homer J. Simpson]
  Mit Zitat antworten Zitat
Benutzerbild von MisterNiceGuy
MisterNiceGuy

Registriert seit: 1. Jul 2003
Ort: Mannheim
919 Beiträge
 
Delphi 7 Personal
 
#2

Re: Ist das sauberer Programmierstil?!

  Alt 7. Jun 2004, 15:34
Würd mich auch mal interessieren. Krank sieht das zwar nicht aus, aber unübersichtilich schon!

Ich nehm mal an, dass die Funktion nur auf diese eine Prozedur anwendbar ist oder?
Jonas
Wenn mich jemand sucht, ich bin im Kühlschrank!

Informationen über das Duale Studium
www.jofre.de
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#3

Re: Ist das sauberer Programmierstil?!

  Alt 7. Jun 2004, 15:37
Wenn man vor und hinter der "nested" Prozedure eine Leerzeile einfügt, dann IST das ein sauberer Programmierstil.
Das ist absolut nicht krank, sondern sogar eine sehr gute Methode um prozedurale Techniken stärker zu modularisieren. Überführt man das NICHT-kranke PROGRAM/LIBRARY Konzept auf das NICHT-kranke UNIT Konzept, auf das NICHT-kranke INTERFACE/IMPLEMENTATION Konzept dann ist der nächste logische Modularisierungs-Schritt der Schritt zum NICHT-kranken PROCEDURE/nested Procedure Konzept.

Gruß Hagen
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#4

Re: Ist das sauberer Programmierstil?!

  Alt 7. Jun 2004, 15:38
Das ist echtes und sinnvolles Pascal.
Indem man Codeteile in sinnvolle Teilfunktionen zerlegt, bekommt man flexibleren und besser wartbaren Code.
Je kleiner die Funktion desto leichter laesst sich ihre Korrektheit ueberpruefen.
Eine sinnvolle Zerlegung vermeidet Copy & Paste-Sourcen, die eine haeufige Quelle von Fehlern sind.
Indem man sinnvoll strukturiert kann man auch Fehlern im Ansatz leichter auf die Spur kommen.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Ist das sauberer Programmierstil?!

  Alt 7. Jun 2004, 15:38
Wird von mir genutzt.

Sinn: Eine größere Aufgabe wird in mehrere Blöcke/Einzelfunktionen zerlegt. Diese Allgemein zur Verfügung zu Stellen ist aufgrund der absoluten nur für diese Funktion Verwendbarkeit nicht gegeben.
  Mit Zitat antworten Zitat
Supergrobie

Registriert seit: 22. Okt 2003
Ort: Aachen
28 Beiträge
 
Delphi XE7 Professional
 
#6

Re: Ist das sauberer Programmierstil?!

  Alt 7. Jun 2004, 15:39
Hallo!

Ich mache das so wenn ich Schleifen innerhalb einer Funktion oder Prozedur mehrfach benötige und diese Definitiv nicht außerhalb brauche.

Wenn man sich an eine "anständige" Einrückung hält, finde ich das vollkommen OK.

Stevie
Stefan
  Mit Zitat antworten Zitat
BKempf

Registriert seit: 1. Jun 2004
103 Beiträge
 
Delphi 6 Enterprise
 
#7

Re: Ist das sauberer Programmierstil?!

  Alt 7. Jun 2004, 15:39
Das nutze ich regelmaessig bis in eine Ebene von ca. 4 Schachtelungen.
Ist einfach praktisch, um Methoden ihre eigenen kleinen Hilfsfunktionen mitzugeben, die verfuegbar bleiben, wenn die Methoden im Source umhergeschoben werden. Ausserdem unterstuetzt es die Kapselung.
The problem with troubleshooting is that sometimes the trouble shoots back.
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Ist das sauberer Programmierstil?!

  Alt 7. Jun 2004, 15:40
Ist richtig, die eingebettete Funktion (oder Prozedur) ist nur der "Mutter"-Funktion oder Prozedur bekannt. Ich habe das z.B. mal in meinem Parser genutzt. Ein praktischer Nutzen: Die "Kind"-Funktionen kennen die Variablen der "Mutter"-Funktion - und die sind damit also quasi in dieser "Mutter"-Funktion Semi-Global. Man muss also nicht so viel Parameterübergabe machen, wenn klar ist, dass die eingebetteten Funktionen nicht auch einzeln verwendet werden sollen/müssen.

Sieht nicht wirklich hübsch aus, kann aber sehr praktisch sein, und ist meiner Meinung nach auch in Sachen "Stil" völlig okay.

gruss,
dizzy
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#9

Re: Ist das sauberer Programmierstil?!

  Alt 7. Jun 2004, 15:41
Hinsichtlich des Codestils bevorzuge ich:
- Weglassen der leeren runden Klammern
- Integer statt integer
- Result statt result
- NurEinTest statt nurEinTest
- Test statt test
- eine Leerzeile vor und hinter der lokalen Funktion
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#10

Re: Ist das sauberer Programmierstil?!

  Alt 7. Jun 2004, 15:45
Zitat von BKempf:
Das nutze ich regelmaessig bis in eine Ebene von ca. 4 Schachtelungen.
Das geht an die Grenze der Lesbarkeit. Das sind bereits 8 Zeichen Einrueckung.
Nicht viele Programmierer koennen dieser Tiefe folgen, besonders wenn Bezug auf globalere Variablen genommen wird.
Der Bezug auf globalere Variablen sollte vermieden werden. Parameter sind verstaendlicher und erlauben
tief verschachtelte Funktionen ohne Aenderung nach aussen in der Verschachteung zu ziehen.

Refactoring aka "alles umschreiben" ist eine haeufige Taetigkeit. Die Source sollte daher leicht zu aendern sein.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 15:19 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