Thema: Delphi Generics und Enums

Einzelnen Beitrag anzeigen

Rollo62
Online

Registriert seit: 15. Mär 2007
3.910 Beiträge
 
Delphi 12 Athens
 
#20

AW: Generics und Enums

  Alt 13. Sep 2015, 15:38
Ich möchte mal anmerken das die Diskussion sehr akademisch ist, und ich die Dinge oft leider praktisch lösen muss.
Natürlich kenne ich die Fallstricke von case etc., aber damit kommte ich oft in einem Tag zur Lösung während wenn ich erst nach einem optimalen Polymorphismus suche bin ich da eine ganze Woche dran.

Das Problem lässt sich oft leider nicht so klar definieren, sondern es muss erstmal analysiert oder noch schlimmer "erarbeitet" werden.
Daher gehe ich so vor das ich, wenn nicht anders lösbar, erstmal Q&D mit case, enum und dem Grundbaukasten rangehe.
Erst dann wenns funktioniert kann ich mir eine ganze Weile anschauen ob das Konzept1 richtig war.
Aber erst wenn ich etwas hinzufügen muss, vielleicht in einem Jahr, würde ich mir das bestehende Konzept1
anschauen und womöglich in Unterklassen bauen, die Logik auseinandereissen oder was auch immer.

Zeit ist ein nicht zu unterschätzender Faktor für mich,
wenn ihr immer alles perfekt theoretisch analysieren könnt: Hut ab.

Z.B. das Beispiel mit der Ampel ist toll strukturiert, das kommt aber vielleicht auch weil jeder
eine Ampel seit 100 Jahren kennt.

Das Pizzabeispiel finde ich z.B. für viele meiner Aufgaben realistischer:
Wir glauben auch das Pizza-Beispiel gut zu kennen:
aber in der Realität kommt dann die geklappte Calzone,
manche möchten Gyros und Speck auf die Pizza,
dann muss die Pizze quadratisch werden um in den Karton zu passen,
dann wieder dreieckig weil es eine neue Designerverpackung gibt,
und drei Monate später kommt ein Flammkuchen und Crepes-AddOn das wir auch noch mit reinpacken müssen,
danach kommt sicher noch kurzfristig der Flammkuchen mit Gyros drauf,
die Pizza sollte sicher auch auch vorgeschnitten sein, usw, usw.

Wenn ich im Vorfeld zu lange versuche das richtige Konzept zu finden werde ich doch meistens
völlig daneben liegen.
(Wohlgemerkt insbesondere bei Aufgaben die bis jetzt noch garnicht richtig bekannt sind,
anders als die Pizza ...).

Ich habe leider immer wieder gesehen das uns die Realität oft überholt,
und viele schöne Theorien brökeln dahin.

Deshalb gehe ich eher pragmatisch vor:
Die neue Aufgabe mal theoretisch analysieren und Konzept1 entwickeln,
wenn danach prinzipiell noch vieles unklar bleibt dann einfach mal klein anfangen und Testen.
Step-by-step vorarbeiten, mit dem Nötigsten (auch mit case, Enum und Kostanten).
Wenns denn rund läuft dann eine Weile produktiv checken ob das Konzept1 noch überall reinpasst
und erst bei der Erweiterung auf Flammkuchen würde ich mich dann sicher genug fühlen ein Konzept2
mit Polymorphismus, optimierten, passenden Patterns etc. dazu aufzustellen.

Für mich, der leider oft schnelle Lösungen produzieren muss, ist das der einfachste Weg.

Natürlich ist das nur bedingt optimal für manche Fälle wie z.B. für grosse Teams, Libraries, etc.

Aber in vielen Beiträgen höre ich raus das es nur einen goldenen Weg gibt,
wobei ich eher glaube das viele Wege (und Umwege) nach Rom führen ...

Rollo
  Mit Zitat antworten Zitat