AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Softwareentwicklung im Allgemeinen Softwaretests und Qualitätssicherung Methode zu lang - Toxizitäts Metriken - FixInsight

Methode zu lang - Toxizitäts Metriken - FixInsight

Ein Thema von creehawk · begonnen am 5. Sep 2018 · letzter Beitrag vom 10. Sep 2018
Antwort Antwort
Seite 1 von 2  1 2   
OlafSt

Registriert seit: 2. Mär 2007
Ort: Hamburg
284 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

AW: Methode zu lang - Toxizitäts Metriken - FixInsight

  Alt 6. Sep 2018, 08:15
Nope. Das ganze ist auch absolut hervorragend dokumentiert und kommentiert. Kommentare sind drin, jede Menge: Auskommentierter Code, weil geändert und Fehlerbehebungen mit Kürzel wer und wann.

Kommentare mit erklärender Funktion gibt es - wenn man meine hinzugefügten abzieht - genau gar keinen.

Wäre die Routine so aufgebaut, wie die Vorschreiber es sich vorstellen, hätte ich mich da auch mal dran gewagt. Ihr geht davon aus, das das ganze logisch nach Funktion gegliedert ist. Das würde das Refactoring tatsächlich vereinfachen. Aber so ist das Ding nicht gebaut.

Das Teil ist so strukturiert, wie ein Drucker arbeitet . Am Anfang des Blattes gibt es [Code]. Die Zeile darunter ist aber für Kunden "BCD" anders, also [Code mit Ausnahme]. Dann muß da ja n Firmenlogo kommen, also [Je nach s_Art [je nach Kunde [Code]]. Hab ich schon das Seitenende erreicht ? Ach ja, englische Texte brauchen wir ja auch noch... Und so weiter. Zusätzlich wird etwa ein dutzend SQL-Queries geöffnet, je nach s_Art und Kunde mit anderen Statements versehen; da werden Formulare geöffnet (weil die nicht wußten, wie man sonst Klassen erzeugt) und in versteckte Edit-Felder Werte eingetragen (keine Ahnung von Properties gehabt) und dann im OnChange-Handler jeweils s_Art- und Kunde-Abhängige Dinge gemacht. Wirklich benutzt wird das dann 5k Zeilen weiter unten...

Wie schon gesagt, Spaghetti-Code vom allerfeinsten. Das auseinander zu sortieren hat schon mal einer versucht und es nach 3 Monaten aufgegeben, weil die zahllosen Seiteneffekte einfach nicht mehr beherrschbar waren.

Letztlich geht es aber nicht um dieses "Meisterwerk der Software-Entwicklung". Man kann tatsächlich Code produzieren, mit dem man nur noch eines machen kann: Löschen, weil selbst so coole Tools wie MMX einfach nicht mehr gegenan kommen. Zum Glück ersetzen wir diesen Müll sukzessive durch wartbaren und besser dokumentierten (weil meinen ) Code.
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#2

AW: Methode zu lang - Toxizitäts Metriken - FixInsight

  Alt 6. Sep 2018, 09:02
Kommentare mit erklärender Funktion gibt es - wenn man meine hinzugefügten abzieht - genau gar keinen.
Das ist das eigentliche Problem, warum so ein Moloch auch nicht mal eben so komplett neu geschrieben werden kann.

Niemand weiß ganz genau was da so passiert/passieren muss.

Das kann man nur in das Nachtgebet einschließen und hoffen ...
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Methode zu lang - Toxizitäts Metriken - FixInsight

  Alt 6. Sep 2018, 09:56
Letztlich geht es aber nicht um dieses "Meisterwerk der Software-Entwicklung". Man kann tatsächlich Code produzieren, mit dem man nur noch eines machen kann: Löschen, weil selbst so coole Tools wie MMX einfach nicht mehr gegenan kommen. Zum Glück ersetzen wir diesen Müll sukzessive durch wartbaren und besser dokumentierten (weil meinen ) Code.
MMMM.
Da ich weiß, wie es zu solchen Monstern kommen kann (mach doch mal eben schnell), würde ich nicht so hart urteilen. Was Du da vor Dir hast, ist das Ergebnis jahrelangen Bastelns ohne ein eigentliches Konzept. Um mit Klassen zu arbeiten muß, man erst einmal entsprechende Denkstrukturen entwickeln. Und wer nicht "strukturiert" denken kann ist da wohl erst einmal vollkommen überfordert.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.513 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Methode zu lang - Toxizitäts Metriken - FixInsight

  Alt 10. Sep 2018, 10:48
Da ich weiß, wie es zu solchen Monstern kommen kann (mach doch mal eben schnell), würde ich nicht so hart urteilen.
Ich schon. Sorry. Ich weiß auch wie es zu langen Methoden kommt. Aber eine Methode mit 11k macht man nicht mal so eben.

Was Du da vor Dir hast, ist das Ergebnis jahrelangen Bastelns ohne ein eigentliches Konzept. Um mit Klassen zu arbeiten muß, man erst einmal entsprechende Denkstrukturen entwickeln. Und wer nicht "strukturiert" denken kann ist da wohl erst einmal vollkommen überfordert.
Ja schon, aber nur "erst einmal". Dann soll man sich halt mal Hilfe holen. (Mache ich ja auch immer wieder) Wenn man nicht voll blöd ist kommt man ja auch mal auf die Idee nach "Delphi Forum" zu googeln.
Auch ich stimme den Vorredner zu: Jeder hat mal nen schlechten Tag, jeder findet seinen alten Code teilweise schlecht...
Aber es geht ja auch darum etwas daraus zu lernen und es dann besser zu machen.
Und die Zeiten wo die Ressourcen knapp waren sind nun ja wirklich vorbei.

Geändert von freimatz (10. Sep 2018 um 12:17 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.733 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: Methode zu lang - Toxizitäts Metriken - FixInsight

  Alt 6. Sep 2018, 12:35
Zum Glück ersetzen wir diesen Müll sukzessive durch wartbaren und besser dokumentierten (weil meinen ) Code.
LOL, der war gut!

Ich schätze mal, in diese Situation kommt jeder, der den Code anderer warten muss. Selbst ein genialer Softwareentwickler hat mal einen schlechten Tag (der wird unter Zeitdruck gesetzt) und produziert dann Müll, den er nach ein paar Monaten selbst nicht mehr versteht.

Mir zumindest passiert das, aber ich bin ja auch nicht genial.
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.052 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

AW: Methode zu lang - Toxizitäts Metriken - FixInsight

  Alt 6. Sep 2018, 13:58
Zum Glück ersetzen wir diesen Müll sukzessive durch wartbaren und besser dokumentierten (weil meinen ) Code.
LOL, der war gut!

Ich schätze mal, in diese Situation kommt jeder, der den Code anderer warten muss. Selbst ein genialer Softwareentwickler hat mal einen schlechten Tag (der wird unter Zeitdruck gesetzt) und produziert dann Müll, den er nach ein paar Monaten selbst nicht mehr versteht.

Mir zumindest passiert das, aber ich bin ja auch nicht genial.
Ich hab mal irgendwo ein Zitat gelesen, was ungefähr so lautete: "Wenn man seinen Sourcecode von <irgendwann in der Vergangenheit> heute nicht für verbesserungswürdig hält, dann hat man sich nicht weiterentwickelt/verbessert". Also auf alle, die ihren Sourcecode von vor drei Monaten heute sch*** finden.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.054 Beiträge
 
Delphi 12 Athens
 
#7

AW: Methode zu lang - Toxizitäts Metriken - FixInsight

  Alt 6. Sep 2018, 15:45
Das Gefühl kenne ich nur zu gut...
"Ach du Sch***, was hast du denn damals da gemacht..."

Leider hilft das Wissen darüber nichts dagegen, dass es ein Riesenaufwand ist das ganze heute dann in besseren Code zu verwandeln.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Methode zu lang - Toxizitäts Metriken - FixInsight

  Alt 6. Sep 2018, 18:22
Das Gefühl kenne ich nur zu gut...
"Ach du Sch***, was hast du denn damals da gemacht..."

Leider hilft das Wissen darüber nichts dagegen, dass es ein Riesenaufwand ist das ganze heute dann in besseren Code zu verwandeln.
Aber besser heute anfangen da aufzuräumen, denn im Allgemeinen wird sowas mit der Zeit nur noch viel schlimmer.

Es muß auch nicht auf biegen und brechen sofort perfekt werden.
> Die eine übergroße schlimme Funktion in ein paar kleinere weniger Schlimme, das ist auch schon ein Fortschritt.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.052 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#9

AW: Methode zu lang - Toxizitäts Metriken - FixInsight

  Alt 6. Sep 2018, 22:18
Das Gefühl kenne ich nur zu gut...
"Ach du Sch***, was hast du denn damals da gemacht..."
Oft auch: "Welcher Vollidi..." *klick auf blame* "... oh, ich, ach das hatte bestimmt einen Grund!..."
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.240 Beiträge
 
Delphi 12 Athens
 
#10

AW: Methode zu lang - Toxizitäts Metriken - FixInsight

  Alt 7. Sep 2018, 06:35
Zitat:
Wenn man seinen Sourcecode von <irgendwann in der Vergangenheit>
Das hast du in 95% der Fälle Recht.

<Ohne Eigenlob>
Mir passiert es aber auch manchmal das ich sage: Wow, das habe ich damals aber ziemlich cool gelöst
</Ohne Eigenlob>

Rollo
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 17:55 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