Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Beurteilung meines Quelltextes (https://www.delphipraxis.net/84433-beurteilung-meines-quelltextes.html)

Stefan92 15. Jan 2007 20:06


Beurteilung meines Quelltextes
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ok, danke für die schnellen Antworten und für den Tip mit dem Speedbutton, klappt auch (war ja auch nicht anders zu erwarten :zwinker: ). Aber eine Frage:
Wie findet ihr meinen Quelltext? Gibt es da überflüssige Stellen oder unsaubere Passagen?

Gruß

Stefan

PS:Wenn ihr nicht wollt, müsst ihr euch den Code nicht durchlesen, ist ja auch ziemlich lang, das ist rein optional!

[edit=Christian Seehase]Dies ist ein Thread der aus diesem entstanden ist. Der angesprochene Quelltext ist dort zu finden, und wurde von mir hier als Anhang hinzugefügt Mfg, Christian Seehase[/edit]

Nils_13 15. Jan 2007 20:15

Re: Fokusieren des Buttons vermeiden
 
Den Code habe ich nur überflogen und kann darüber schlecht urteilen, aber:
1. Bennene mal deine Komponenten um, in einem halben Jahr kannst du damit nichts mehr anfangen. Da musst du selbst ein System finden, z.B. bAddition (b=Button), je nachdem, was dir zusagt. Gewöhn es dir gleich an und du programmierst besser, als ich es in deinem Alter getan habe.
2. Die Codeformatierung ist nicht gerade übersichtlich. Wenn du mal >2500 Zeilen-Projekte programmierst, wirst du es noch verstehen, weil es einfach (gerade bei mehreren If-Abfragen!) total unübersichtlich ist und du auch langsamer sein würdest. Du hast aber im Vergleich zu vielen Anderen noch eine anschauliche Codeformatierung, die nicht so schlimm ist, nur um dir einen besseren Weg zu zeigen. Da kann ich nur dieses Tutorial empfehlen: http://www.dsdt.info/grundlagen/styl...infuehrung.php

jakobwenzel 15. Jan 2007 20:18

Re: Fokusieren des Buttons vermeiden
 
Wenn du ein richtiges Projekt machen willst, dann benenn die Controls um. Weißt du nach einem Monat noch (ohne Kommentare im Code) noch, was Button237 macht? Oder wüsstest du dann noch, was der Button btnSaveSettings macht? :wink:

//EDIT: Zu lahm, aber mit Beispiel, deshalb send ichs mal trotzdem

Matze 15. Jan 2007 20:19

Re: Fokusieren des Buttons vermeiden
 
Styleguide bleibt jedem selbst überlassen, wobei deiner in den meisten Teilen recht gut lesbar ist, da gibt's deutlich schlimmere. Dazu gäbe es aber in der DP einige Diskussionen, also falls du wissen möchtest, wie man etwas formatieren kann (Einrückungen etc.) einfach suchen. ;)

An deiner Stelle würde ich auf jedenfall den Komponenten aussagekräftigere Namen geben. "Button1" lässt nicht darauf schließen, was dieser Button macht. Wobei es bei dir hier zufälligerweise ok ist, da er auf die Taste 1 reagiert. Aber beispielsweise "Button15", da wäre "BtnPlus" oder ähnliches, deutlich schöner.


PS: Da ich ein paar Beispiele drin habe, sende ich es dennoch ab, auch wenn's z.T. bereits genannt wurde.
PPS: Aber eigentlich gehört sowas nicht in dieses Thema ...

Nils_13 15. Jan 2007 20:27

Re: Fokusieren des Buttons vermeiden
 
Zitat:

Zitat von Matze
Styleguide bleibt jedem selbst überlassen, wobei deiner in den meisten teilen gut lesbar ist. Dazu gäbe es aber in der DP einige Diskussionen, also falls du wissen möchtest, wie man etwas formatieren kann (Einrückungen etc.) einfach suchen. ;)

Jp, aber bei langen Prozeduren mit vielen Variablen, bin ich sogar wieder zum Anfang zurückgekehrt (naja nicht ganz) und schreibe gruppiert
s1 : String; // Kommentar
s2 : String // Kommentar
und rücke es ein. Dann findet man sich nach zig Jahren noch recht schnell in den Code rein, weil man ihn dadurch auch sehr gut kommentieren kann. Mir ist auch aufgefallen, dass mir nach lästigen if-else-Klauseln immer die Augen etwas weh taten....
Das
Delphi-Quellcode:
if ... then begin
  ...
end
else
begin
  ...
end;
wurde zu:
Delphi-Quellcode:
if ... then
begin
  ... // Falls uneingerückt, ist dies nicht meine Schuld --> Highlighter
end else
begin

end;
Darüber kann man Stunden diskutieren, also lassen wir das. Du hast schon recht, dass jeder seinen eigene Formatierung haben sollte, aber viele kommen doch erst später zu einer einheitlichen Codeformatierung.

*** EDIT ***
Verdammt, habe dein zweites PS übersehen, sry.

Sunlight7 16. Jan 2007 18:04

Re: Fokusieren des Buttons vermeiden
 
'n Abend!

Ich hab Deinen Code auch nur kurz überflogen :-D

Was mir auffiel:

Statt
Delphi-Quellcode:
or (operation=true)
genügt
Delphi-Quellcode:
or operation
Bei if auch:
Delphi-Quellcode:
If strich=true then
=
Delphi-Quellcode:
If strich then
Gibt in der DP auch Threads zu dem Thema.

Der Typ Real ist Out :zwinker:
Delphi-Quellcode:
var vorzeichenwechsel:real; = var vorzeichenwechsel:Single;
Grüßle!

PS: Wenn Du Code Postest, dann bitte mit den richtigen Tags, in diesem Fall Delphi-Tags, damit man das besser lesen kann :zwinker:

shmia 16. Jan 2007 18:19

Re: Fokusieren des Buttons vermeiden
 
Schau mal folgenden Code an, der wiedeholt sich mindestens 10 Mal mit ganz geringen Unterschieden:
Delphi-Quellcode:
procedure TForm1.Button10Click(Sender: TObject);
begin
  if (panel1.caption='0') or (operation=true) then
  begin
    panel1.caption:='0';
    operation:=false;
  end
  else panel1.caption:=panel1.caption+'0';
  if strich=true then zahl:=true;
  panel1.setfocus;
end;
Wenn man ein Codefragment so oft sieht, muss sofort die Alarmglocke UNTERFUNKTION klingeln!!
Hier die Unterfunktion mit dem Parameter "zahl":
Delphi-Quellcode:
procedure TForm1.ZahlKlick(zahl:char);
begin
  if (panel1.caption='0') or (operation=true) then
  begin
    panel1.caption:=zahl;
    operation:=false;
  end
  else panel1.caption:=panel1.caption+zahl;
  if strich=true then zahl:=true;
  panel1.setfocus;end;
Damit ergibt sich folgende Vereinfachung (und zwar für 10 Buttons):
Delphi-Quellcode:
procedure TForm1.Button10Click(Sender: TObject);
begin
   ZahlKlick('0');
end;
Deine Art zu programmieren nennt man "Programmierung mittels Copy & Paste" und erzeugt sehr viel Programmcode, der nur schwer zu debuggen ist.
http://de.wikipedia.org/wiki/Antipat...-Anti-Patterns

Stefan92 16. Jan 2007 18:33

Re: Fokusieren des Buttons vermeiden
 
@Sunlight7:Danke für den Typ mit dem Boolean-Variablen, aber was bedeutet, dass Real out ist? Ist es schlechter als Single oder Double?
@all: Danke schön für die ganzen Tips, ich wusste nicht, dass ich so viel falsch mache... :-D
Ich weiss, ich bin ein bisschen offtopic geworden, kann man den Titel denn noch nachträglich ändern?

Gruß

Stefan

Christian Seehase 16. Jan 2007 18:37

Re: Fokusieren des Buttons vermeiden
 
Moin Stefan,

ich schlage mal vor Du überlegst Dir einen Titel, schickst mir den, und ich teile das Thema, so dass ein neuer Thread entsteht.

Stefan92 16. Jan 2007 20:01

Re: Fokusieren des Buttons vermeiden
 
Hallo Christian, (für Moin ist es wohl etwas zu spät... :))
als zweiten Titel würde ich 'Wie findet ihr mein Quelltext' oder falls zu lang 'Beurteilung meines Quelltextes' nehmen.
Danke fürs Angebot.

Gruß

Stefan

Edit: Ups, sehe grade, dass der zweite Titel nur ein Zeichen länger ist... :gruebel: Nimm halt irgendeinen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:56 Uhr.
Seite 1 von 3  1 23      

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