Code: Alles auswählen.
data infotype TYPE (ls_notification_info-infty).
Code: Alles auswählen.
DATA gv_ref TYPE REF TO data.
FIELD-SYMBOLS <gv_var> TYPE ANY.
CREATE DATA gv_ref TYPE (ls_notification_info-infty).
ASSIGN gv_ref->* TO <gv_var>.
da bist du nicht der einzigefr-g hat geschrieben:Ich finde ja gerade die dynamische Typisierung häufig gruselig![]()
Code: Alles auswählen.
DATA gv_ref TYPE REF TO data. FIELD-SYMBOLS <gv_var> TYPE ANY. CREATE DATA gv_ref TYPE (ls_notification_info-infty). ASSIGN gv_ref->* TO <gv_var>.
Das ist so bei abstrakten und generischen Codings. Dafür sind sie in höchstem Maße wiederverwertbar. Das eine kriegt man nicht ohne das andere.SaskuAc hat geschrieben:@Ralf: Weils häufig extrem schwer zu lesen und unschön ist. Außerdem kann es sehr fehleranfällig sein, wenn der Entwickler sich seiner Sache nicht sicher ist.
Da hast du natürlich recht. Und das ist eigentlich ein Grund weshalb ich es unglaublich gerne habe, dynamisches Coding zu verwenden. Allerdings immer nur mein eigenes. Denn meistens ist anderweitiges dynamisches Coding meistens nicht gut dokumentiert und meistens, wie schon gesagt, unlesbar. Typisierung ist da jetzt nur ein Beispiel .. gibt ja viele weitere möglichkeiten Dynamisch zu programmieren.ralf.wenzel hat geschrieben:Das ist so bei abstrakten und generischen Codings. Dafür sind sie in höchstem Maße wiederverwertbar. Das eine kriegt man nicht ohne das andere.SaskuAc hat geschrieben:@Ralf: Weils häufig extrem schwer zu lesen und unschön ist. Außerdem kann es sehr fehleranfällig sein, wenn der Entwickler sich seiner Sache nicht sicher ist.
Nicht zwingend. Gerade die Erzeugung finde ich auch extrem unglücklich und ich muss immer wieder nachschauen, wie es eigentlich geht.ralf.wenzel hat geschrieben: Das ist so bei abstrakten und generischen Codings.
Code: Alles auswählen.
DATA dynstruc TYPE ('MYSTRUC').
Jein. Du kannst mir eine noch so tolle Dokumentation von Integralrechnung vorlegen, es stellt trotzdem nicht sicher, dass ich sie verstehe...ralf.wenzel hat geschrieben:Alles eine Frage der Dokumentation.....
Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
DeathAndPain
Aber am verständnis und lesbarkeit des Codings, was ja auch wieder die Qualität erhöht.ralf.wenzel hat geschrieben:Das ist jetzt "nur" eine Frage der Schreibweise und da gebe ich dir sogar recht. An der Komplexität ändert das nicht so viel.
Das denke ich auch: Je komplexer etwas ist, desto größer wirken sich kleine Vereinfachungen aus.SaskuAc hat geschrieben:Aber am verständnis und lesbarkeit des Codings, was ja auch wieder die Qualität erhöht.ralf.wenzel hat geschrieben:Das ist jetzt "nur" eine Frage der Schreibweise und da gebe ich dir sogar recht. An der Komplexität ändert das nicht so viel.
Das ist nicht notwendigerweise so. Wie SaskuAc bereits angedeutet hat, gibt es Programmierer, die im Zweifel erst mal alles und seinen Hund dynamisieren, ohne sich Gedanken darüber zu machen, welcher Teil der Dynamik tatsächlich gebraucht wird. Bei solchen Teilen würden sich also ggf. keine mehrfachen Prozesse ergeben, wenn man auf sie verzichten würde.Ralf hat geschrieben:Die zentrale Frage ist: Wird etwas einfacher, weil es statischer ist? Die Wartung wird nicht einfacher, weil ein abstrakt identischer Prozess mehrfach vorhanden ist.