AGB  ·  Datenschutz  ·  Impressum  







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

Beurteilung meines Quelltextes

Offene Frage von "Stefan92"
Ein Thema von Stefan92 · begonnen am 15. Jan 2007 · letzter Beitrag vom 20. Jan 2007
Antwort Antwort
Seite 1 von 3  1 23      
Stefan92

Registriert seit: 9. Jan 2007
146 Beiträge
 
Delphi 7 Enterprise
 
#1

Beurteilung meines Quelltextes

  Alt 15. Jan 2007, 20:06
Ok, danke für die schnellen Antworten und für den Tip mit dem Speedbutton, klappt auch (war ja auch nicht anders zu erwarten ). 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]
Angehängte Dateien
Dateityp: pas taschenrechner_184.pas (13,4 KB, 40x aufgerufen)
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#2

Re: Fokusieren des Buttons vermeiden

  Alt 15. Jan 2007, 20:15
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
  Mit Zitat antworten Zitat
Benutzerbild von jakobwenzel
jakobwenzel

Registriert seit: 31. Aug 2005
Ort: Ingelheim am Rhein
141 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Fokusieren des Buttons vermeiden

  Alt 15. Jan 2007, 20:18
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?

//EDIT: Zu lahm, aber mit Beispiel, deshalb send ichs mal trotzdem
Jakob Wenzel
"My store now sells Ninja Weapons!"
Comicverkäufer bei den Simpsons
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Fokusieren des Buttons vermeiden

  Alt 15. Jan 2007, 20:19
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 ...
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#5

Re: Fokusieren des Buttons vermeiden

  Alt 15. Jan 2007, 20:27
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.
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#6

Re: Fokusieren des Buttons vermeiden

  Alt 16. Jan 2007, 18:04
'n Abend!

Ich hab Deinen Code auch nur kurz überflogen

Was mir auffiel:

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

Der Typ Real ist Out
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
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#7

Re: Fokusieren des Buttons vermeiden

  Alt 16. Jan 2007, 18:19
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
Andreas
  Mit Zitat antworten Zitat
Stefan92

Registriert seit: 9. Jan 2007
146 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Fokusieren des Buttons vermeiden

  Alt 16. Jan 2007, 18:33
@Sunlight7anke 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...
Ich weiss, ich bin ein bisschen offtopic geworden, kann man den Titel denn noch nachträglich ändern?

Gruß

Stefan
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.107 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Fokusieren des Buttons vermeiden

  Alt 16. Jan 2007, 18:37
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.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Stefan92

Registriert seit: 9. Jan 2007
146 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Fokusieren des Buttons vermeiden

  Alt 16. Jan 2007, 20:01
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... Nimm halt irgendeinen.
  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 16:10 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