Thema: Delphi Automatisierung

Einzelnen Beitrag anzeigen

Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.763 Beiträge
 
Delphi 11 Alexandria
 
#22

AW: Automatisierung

  Alt 6. Sep 2017, 12:28
Und ganz kurz noch: Der Begriff Spaghetticode ist kein persönlicher Angriff, sondern ein definierter Begriff, der eventuell als Abwertung dem Code gegenüber verstanden werden kann, aber keinesfalls eine Beleidigung darstellt. Er entspricht einem Anti-Entwurfsmuster, das es zu vermeiden gilt. Wenn es viele ähnliche Codeblöcke gibt, muss man bei jeder Änderung die Blöcke alle ändern, und könnte dabei den einen oder anderen übersehen, was spätestens dann zu unvorhersehbaren, schwer zu lokalisierenden Fehlern führen kann.

Eine weitere Facette des Problems hast Du selbst bemerkt, als Du Deine Frage hier gepostet hast, dieser längliche Code ist einfach unübersichtlich, und relevante Teile nur schwer auszumachen, weil alles in seiner Wiederholung irgendwie relevant ist. Damit wird es umso schwerer sachdienliche Hinweise zu geben, weil man sich erst durch das wirklich umfangreiche Beispiel arbeiten muss. Ein Problem kann in der Regel einfacher erkannt werden, wenn man ein eng umrissenes aber in sich abgeschlossenes Beispiel dazu gibt. Die Vorschläge, den Code zu verkürzen waren sicherlich erste Versuche, und mit etwas Zeit und Geduld bekommt man dann Lösungen, die für alle akzeptabel und verständlich sind. Aber Du mußt zugeben, daß die gleiche Änderung an 20 Stellen durchführen zu müssen, schlechter ist, als besagte Änderung nur einmal machen zu müssen. Und dafür einen etwas komplexeren Funktionsaufruf zu basteln halte ich für einen akzeptablen Preis. Dein Gegenbeispiel muss ja nicht so aussehen, es sollte noch nicht mal so werden, denn für alle die dort verwendeten Strings sollte man eigentlich Konstanten verwenden können, die einen entsprechend knackig kurzen Namen erhalten.

AppendEntry(cMenuAboutIco, rsWrongPlaceMessage, SKAERO_POPMENUHILITE, 2); Das ist doch schnucklig und verständlich.

Und dann kann man sich endlich Deinem eigentlichen Problem widmen, weil man jetzt den Wald trotz der ganzen Bäume sieht.

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann