AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Code Smells
Tutorial durchsuchen
Ansicht
Themen-Optionen

Code Smells

Ein Tutorial von Coffeecoder · begonnen am 5. Mai 2011 · letzter Beitrag vom 11. Jan 2012
Antwort Antwort
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

AW: Code Smells

  Alt 6. Jul 2011, 11:47
Außerdem wird hier als Parameter eine Zeichenkette übergeben: anpassenChart('Chart'+IntToStr(i)); laut Deklaration müsste es aber ein Objekt vom Typ TChart sein. Mir ist zwar klar, was du aussagen willst, aber trotzdem sollte es doch ein Beispiel sein, was zumindest compiliert.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

AW: Code Smells

  Alt 6. Jul 2011, 13:13
Außerdem wird hier als Parameter eine Zeichenkette übergeben: anpassenChart('Chart'+IntToStr(i)); laut Deklaration müsste es aber ein Objekt vom Typ TChart sein. Mir ist zwar klar, was du aussagen willst, aber trotzdem sollte es doch ein Beispiel sein, was zumindest compiliert.
Ein einfaches FindComponent würde hier dann wohl schon reichen, sodass es klappt.
Delphi-Quellcode:
procedure anpassenChart(ch : TChart);
Begin
end;
hier ist ch auch nicht gerade ein aussagekräftiger Parameter, könnte auch ein Char oder so sein
Hier sollte man sich mal die VCL anschauen, die an sehr vielen stellen folgende Konvention nutzt:
Delphi-Quellcode:
procedure anpassenChart(AChart: TChart);
Begin
end;
Wobei das leider nicht immer der Fall ist -- ist mir neulich allein schon mal wieder bei der Format-Funktion aufgefallen.

Ansonsten muss ich sagen, dass das ein interessanter Einstieg sein kann
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
blackfin
(Gast)

n/a Beiträge
 
#3

AW: Code Smells

  Alt 6. Jul 2011, 13:17
Dazu fällt mir folgende Aussage von einem Bekannten ein: "Wieso? Ich weiss doch, dass die Soundsystem-Klasse bei mir Peter heisst"
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#4

AW: Code Smells

  Alt 6. Jul 2011, 13:19
Dazu fällt mir folgende Aussage von einem Bekannten ein: "Wieso? Ich weiss doch, dass die Soundsystem-Klasse bei mir Peter heisst"
Leider sieht man sowas bei viel zu vielen Programmierern. Liegt imho dann aber auch daran, dass diese noch nie im Team programmiert haben.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#5

AW: Code Smells

  Alt 6. Jul 2011, 21:35
Wenn schon Verbesserung, dann bitte verwende keine With-Statements und rueck den Code richtig ein
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#6

AW: Code Smells

  Alt 6. Jul 2011, 21:46
Wenn schon Verbesserung, dann bitte verwende keine With-Statements und rueck den Code richtig ein
Was ist an with so böse?
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

AW: Code Smells

  Alt 6. Jul 2011, 22:28
Man sieht nicht mehr auf was sich das with bezieht. Und mitunter kommt der Compiler schon mal durcheinander und dann sucht man sich dumm und dusselig.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
FredlFesl

Registriert seit: 19. Apr 2011
293 Beiträge
 
Delphi 2009 Enterprise
 
#8

AW: Code Smells

  Alt 7. Jul 2011, 08:03
Was ist an with so böse?
...Und mitunter kommt der Compiler schon mal durcheinander...
Ganz sicher nicht. Der Compiler ist deterministisch, da der die Grammatik zumindest hier formal korrekt interpretiert.

Die "Notwendigkeit" für ein with ist wahrscheinlich Feature Envy, Indecent Exposure und/oder Message Chains
So hab ich das noch nicht gesehen. Aber stimmt: Verwender des 'WITH' müssen nur ihren Code aufräumen (zur Not mit Class Helper), dann wird das 'WITH' meist überflüssig.

Mein Code riecht immer dann gut, wenn ich keine Kommentare benötige, da der Code flüssig zu lesen ist (wie eine Beschreibung) und einfach zu verstehen ist.
Weiterhin spüre ich, das ich in die richtige Richtung gehe, wenn die Klassen mit Scheuklappen durch die Gegend rennen, d.h. keine Abhängigkeiten zu anderen Klassen existieren. Dann kann ich mit den Klassen vieles anstellen, ohne mir einen abzubrechen.

Eine schöne Beschreibung für eine gut implementierte Methode ist von Dr.Bob: "Wenn Du das, was die Methode macht, beschreibst, und ohne das Wörtchen 'und' auskommst, hast Du etwas richtig gemacht".
Das Bild hängt schief.
  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 13:33 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