AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Was ist an diesen try und except block falsch?
Thema durchsuchen
Ansicht
Themen-Optionen

Was ist an diesen try und except block falsch?

Ein Thema von Deltachaos · begonnen am 1. Mai 2009 · letzter Beitrag vom 2. Mai 2009
Antwort Antwort
Seite 2 von 2     12   
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#11

Re: Was ist an diesen try und except block falsch?

  Alt 1. Mai 2009, 23:15
Weil man hier schnell mit (konstruktiver) Kritik ist, auch mal was positives hinterher.

Dafür das Du Anfänger bist (wie im anderen Thread geschrieben), sieht Dein Code durchaus schon sehr gut aus. Gute Einrückungen und aussagekräftige Namen. Das hat man hier von jungen Programmierern schon anders gesehen. Ich hab recht schnell die Funktion des Codes verstehen können.

Die Verbesserung der Übersicht durch aufteilen in kleinere Funktion, die taaktaak vorschlägt, sind auch sehr wichtig. Das ist aber nicht immer ganz leicht und ich bastel auch heute noch oft mega-Funktionen, die ich dann erst hinterher ausmisten muss.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#12

Re: Was ist an diesen try und except block falsch?

  Alt 1. Mai 2009, 23:38
Zitat von Satty67:
...Die Verbesserung der Übersicht durch aufteilen in kleinere Funktion, die taaktaak vorschlägt, sind auch sehr wichtig...
aber nicht so :

Zitat von taaktaak:
..Im Buch "Clean code" wird dringend empfohlen, dass Funktionen nur 1-4 Zeilen enthalten sollen.
Ich dehne das mal auf Prozeduren aus und halte es da lieber mit Daniel Magins Faustregel : möglichst maximal 1 DIN A 4 Seite pro Prozedur. Zu stark aufgeteilt geht der Zusammenhang eventuell komplett verloren und man sucht sich dumm und dämlich nach Mini-Funktionen/Prozeduren.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Deltachaos
Deltachaos

Registriert seit: 20. Feb 2008
Ort: Berlin
195 Beiträge
 
Delphi 7 Personal
 
#13

Re: Was ist an diesen try und except block falsch?

  Alt 2. Mai 2009, 02:10
Zitat von Satty67:
Dafür das Du Anfänger bist (wie im anderen Thread geschrieben), sieht Dein Code durchaus schon sehr gut aus. Gute Einrückungen und aussagekräftige Namen. Das hat man hier von jungen Programmierern schon anders gesehen. Ich hab recht schnell die Funktion des Codes verstehen können.
Gut Anfänger mit Delphi aber ich habe bis jetzt schon so einiges mit PHP gemacht und möcht sagen das ich da ganz guz bin.
Daher kommen warscheinlich auch die aussagekräftige Namen und die gute Einrückung.

Zu dem Zerteilen sage ich volgendes:

Ich Persönlich finde das Delphi Felnster für den Code sehr klein. und wenn man es Maximirt kann ich aber nicht damit arbeiten da ich andere Wichtige teile nicht sehe.
Aber das liegt warscheinlich auch an meinem 15" Monitor (das ist bald zum Glück nicht mehr - Hab mir heute einen neuen bestellt 21,5" ich komme)

Nur bei PHP hatte ich halt eine viel grösere Editor Fläche.
Da hat man auch bei viel Code nicht den Überblick verloren.
Maximilian Ruta
Ich weiß mein Deutsch ist ! Bei Fragen: ich bin fast immer im Mumble
Server: cubexsports.de
Port: 64738
  Mit Zitat antworten Zitat
blablab

Registriert seit: 3. Jan 2006
509 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: Was ist an diesen try und except block falsch?

  Alt 2. Mai 2009, 02:49
1-4 zeilen pro funktion ist ja mehr als übertrieben. allein deine funktion (function..., begin, end) hat ja schonmal mindestens 3 zeilen. Das würde dann ja bedeuten, dass der quelltext am schluss weniger als 50% "richtigen code" enthält...

Also ich find es kommt auch drauf an was in der prozedur/funktion steht. Eigentlich benutz ich nur Funktionen um redundanz zu verhindern. Ich find es schwachsinnig in einer Funktion 10 weitere Funktionen aufzurufen, die nur von dieser und sonst keiner Funktion benutzt werden. Ich les doch viel lieber den Code von oben nach unten wie ein Buch, statt dass ich die ganze Zeit hin und herspringen muss.
Funktionen, richtig angewandt, sind auf jeden Fall sinnvoll und auch wichtig, aber man kann es auch wirklich übertreiben. Wenn man nunmal 30 zeilen Code hat bei denen es sich nicht lohnt ihn in Funktionen aufzuteilen, dann soll man es halt lassen. Wenn man versucht krampfhaft was aufzuteilen wirds am schluss eher unübersichtlicher als übersichtlicher...
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#15

Re: Was ist an diesen try und except block falsch?

  Alt 2. Mai 2009, 06:19
Zuerst entschuldige ich mich, das ich eine OffTopic Diskussion im Thread ausgelöst habe. Leider nicht zum ersten mal, mir fehlt es da wohl etwas an Disziplin
Zitat von Deltachaos:
Gut Anfänger mit Delphi aber ich habe bis jetzt schon so einiges mit PHP gemacht
[...]
Zu dem Zerteilen sage ich folgendes:
Gut, das relativiert das Lob dann etwas

1-4 Zeilen ist auch etwas übertrieben. aber der Code Deiner letzten Prozedure enthält noch ein paar in sich abgeschlossenen Aufgaben, die sich einfach extrahieren lassen. Eine ganze Bildschirmseite finde ich nur sinnvoll, wenn der Code eine in sich geschlossene Aufgabe erfüllt (Sortierroutine, Case-Block etc.)
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.993 Beiträge
 
Delphi 7 Professional
 
#16

Re: Was ist an diesen try und except block falsch?

  Alt 2. Mai 2009, 13:39
Moin, Moin.
Also, ich finde nicht, dass wir so deutlich "off-topic" geworden sind. Der Vorsatz, einen übersichtlichen Code zu schreiben, ist eine wesentliche Voraussetzung um die Frage zu beantworten, warum ein bestimmtes Konstrukt falsch ist.
Ich muss gestehen, mit dem Postulat "1-4 Zeilen" wollte ich auch ein wenig provozieren. Diese These aus dem zitierten Buch hat mich heftig irritert und unsicher gemacht - bin ich doch selbst der Letzte, der sich auch nur annähernd an diese Vorgabe hält. Eure Anmerkungen hierzu haben mich aber nun doch wieder beruhigt
Ralph
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#17

Re: Was ist an diesen try und except block falsch?

  Alt 2. Mai 2009, 15:29
Zitat von Satty67:
...Eine ganze Bildschirmseite finde ich nur sinnvoll, wenn der Code eine in sich geschlossene Aufgabe erfüllt...
Sofern sich das auf mich bezieht : ich habe gesagt eine DIN A 4 Seite, also ein Blatt Papier mit 72 Zeilen !! Habe mal nachgeguckt. Eine Prozedur bedi mir hat tatsächlich sogar 140 Zeilen. Das ist eine OnDrawCell für Stringgrid. Kaum sinnvoll aufzuteilen. Ich könnte die zwar so aufteilen, dass sie auf nur eine DIN A 4 Seite passen würde, aber ich hätte dann 20 Prozeduren mehr mit 2-3 Zeilen. Macht mind. noch 100 Zeilen mehr. Dann wär ich aber schon bei 1-4 Zeilen pro Prozedur. Bis auf die eine natürlich.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#18

Re: Was ist an diesen try und except block falsch?

  Alt 2. Mai 2009, 15:50
jupp, es ist halt nicht immer besser alles auf Biegen und Brechen aufzuzeilen

Billiges Beispiel:
Delphi-Quellcode:
procedure ProcedureX;
begin
  WriteLn('1');
  WriteLn('2');
  WriteLn('3');
  WriteLn('4');
  WriteLn('5');
end;
und nochmal mit 2 Zeilen ... ich frag micht was da nun übersichtlicher ist
(wenn hier die Zahlen nicht in den Befehlen drinstehn würden, würden viele wohl nichtmal richtig erkennen können in welcher Reinfolge hier was ausgeführt würde)
Delphi-Quellcode:
procedure Procedure1;
begin
  WriteLn('2');
  WriteLn('3');
end;

procedure Procedure2;
begin
  Procedure1;
  WriteLn('4');
end;

procedure Procedure3;
begin
  WriteLn('1');
  Procedure2;
end;

procedure ProcedureX;
begin
  Procedure3;
  WriteLn('5');
end;
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Deltachaos
Deltachaos

Registriert seit: 20. Feb 2008
Ort: Berlin
195 Beiträge
 
Delphi 7 Personal
 
#19

Re: Was ist an diesen try und except block falsch?

  Alt 2. Mai 2009, 16:13
Ich denke mal darüber kann man sich streiten.

Man sollte so aufteilen das Zusammenhänge erhalten bleiben und am ende aber weniger code herauskommt.

Es hatt keinen sin zwanghaft zu unterteilen wenn mann am ende das doppelte an code hat
Maximilian Ruta
Ich weiß mein Deutsch ist ! Bei Fragen: ich bin fast immer im Mumble
Server: cubexsports.de
Port: 64738
  Mit Zitat antworten Zitat
blablab

Registriert seit: 3. Jan 2006
509 Beiträge
 
Delphi 7 Enterprise
 
#20

Re: Was ist an diesen try und except block falsch?

  Alt 2. Mai 2009, 17:00
Und der Code von himitsu steht ja noch schön sortiert untereinander, so dass man es wieder recht einfach von oben nach unten lesen kann und alles im Überblick hat.
Aber meistens ist es eben nicht so, da musst du dann in der unit hin und herspringen und man hat bei prozedur 5 angelangt schon wieder vergessen was prozedur 1 macht.
Und wenn es sich nicht gerade um WriteLn handelt, dann muss man wahrscheinlich noch Parameter übergeben usw...

Also ich find die Behauptung "Je mehr man den Code in Prozeduren/Funktionen aufteilt, desto besser" ist meistens falsch. Ich finds meistens übersichtlicher, wenn man nur das nötigste aufteilt. (Wobei das natürlich auch wieder nicht optimal ist...)

Man sollte einfach sinnvoll damit umgehen und weder vor einer Funktion mit 2 Zeilen noch vor einer mit 50 zeilen zurückschrecken. Hauptsache ist, es macht Sinn zu unterteilen bzw nicht zu unterteilen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 03:28 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