Umfrage zu euren Erfahrungen mit ATC

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
36 Beiträge • Vorherige Seite 2 von 3 (current) Nächste
36 Beiträge Vorherige Seite 2 von 3 (current) Nächste

Re: Umfrage zu euren Erfahrungen mit ATC

Beitrag von Daniel (Specialist / 314 / 68 / 44 ) »
bei Daniel reicht es schon, den PP zu benutzen, um ähnlichen Ärger zu kriegen.
Bleib mal bei der Wahrheit. Das gilt nur wenn du den PP
auf meine Programme anwendest - die sorgfältig auf eine
gute Lesbarkeit hin formatiert sind.
Bei deinen Programmen kannst du das tun ohne Ärger zu
bekommen.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Umfrage zu euren Erfahrungen mit ATC

Beitrag von ralf.wenzel (Top Expert / 3935 / 200 / 281 ) »
Daniel hat geschrieben:
bei Daniel reicht es schon, den PP zu benutzen, um ähnlichen Ärger zu kriegen.
Bleib mal bei der Wahrheit. Das gilt nur wenn du den PP
auf meine Programme anwendest - die sorgfältig auf eine
gute Lesbarkeit hin formatiert sind.
Bei deinen Programmen kannst du das tun ohne Ärger zu
bekommen.
Ich bleibe IMMER bei der Wahrheit, etwas anderes zu behaupten, ist eine Unterstellung. Zur Erläuterung: Es ging um das Beispiel, dass jemand sich in die Programmierung anderer "einmischt". Und das passiert, wenn jemand in deinem Programm den PP anwendet.

Und das mit der "guten Lesbarkeit" liegt im Auge des Betrachters, niemand weiß das besser als wir beide LOL


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Umfrage zu euren Erfahrungen mit ATC

Beitrag von Daniel (Specialist / 314 / 68 / 44 ) »
Gute Lesbarkeit liegt NICHT im Auge des Betrachters!
Es gibt ganz klare Leitlinien die jeder Schriftsetzer lernt.
Das hat schlicht mit dem natürlichen Lesefluss zu tun.
Wenn man diese Regeln befolgt ist ein Text deutlich leichter
lesbar als wenn man das anders handhabt.
Das ist ganz ähnlich mit Groß- und Kleinschreibung oder
Satzzeichen. Lässt man beides weg wird das lesen zur Qual.

Das ist zwar heutzutage nicht mehr cool, aber trotzdem ist
es immer noch richtig. Und jede Zeitung hält sich an diese
Regeln. Warum wohl?

Re: Umfrage zu euren Erfahrungen mit ATC

Beitrag von ralf.wenzel (Top Expert / 3935 / 200 / 281 ) »
Daniel, hier geht es nicht um den Beruf des Setzers, sondern um die Frage der Einrückung in ABAP-Quelltext. Und du wirst keinen gesetzten Text finden, in dem mal so und mal so eingerückt wird. Und selbst dann ließe er sich mit Quelltext kaum vergleichen.

Außerdem ist ein Quelltext kein Fließtext, den man wie einen Aufsatz liest oder wie einen Zeitungsartikel, sondern ein technischer Text, der ganz andere Anforderungen an den Leser stellt. Weil zum Beispiel viele Anweisungen über mehrere Zeilen gehen, strukturiere ich Quelltext viel mit Leerzeilen.

Nimm einen anderen technischen Text, der in HTML formatiert ist. Da gibt es EINE Syntax für "mache eine Einrückung" (zum Beispiel für einen Spiegelstrich), die ist auch immer gleich breit, egal wie lang der Ausdruck ist, der vor der Einrückung steht.


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Umfrage zu euren Erfahrungen mit ATC

Beitrag von Daniel (Specialist / 314 / 68 / 44 ) »
Das ändert nichts am menschlichen Lesefluß.
Wenn es ein rein technischer Text sein soll ist
keine Formatierung nötig. Der Parser schmeißt
die als erstes weg.

Re: Umfrage zu euren Erfahrungen mit ATC

Beitrag von deejey (Specialist / 422 / 129 / 45 ) »
Das hat mit Lesefluss nichts zu tun sondern eher damit wie man eine Story strukturiert, genau so ist es mit dem Coding. Es gibt sogar Storys die sind zeitlich versetzt oder rückwärts aufgebaut, da gibt es kein offensichtliches richtig oder falsch.

Folgende Benutzer bedankten sich beim Autor deejey für den Beitrag (Insgesamt 2):
ewxDeathAndPain


Re: Umfrage zu euren Erfahrungen mit ATC

Beitrag von ralf.wenzel (Top Expert / 3935 / 200 / 281 ) »
Daniel hat geschrieben:Das ändert nichts am menschlichen Lesefluß.
Wenn es ein rein technischer Text sein soll ist
keine Formatierung nötig. Der Parser schmeißt
die als erstes weg.
Dann frage ich mich, warum du überhaupt Einrückungen machst und nicht die maximale Zeilenbreite für jede Zeile ausnutzt. Oder zumindest alle Zeilen annähernd gleich lang machst. Das ist ja für einen gesetzten Text höchst unüblich. Wie eben auch Einrückungen.

Sorry, aber solange ein Artikel im SPIEGEL oder in einem Buch vom Layout her anders aussieht als dein Quelltext, kannst du hier nicht mit "menschlichem Lesefluss" argumentieren. Natürlich ist der Lesefluss ein anderer, abhängig davon, ob ich ein einspaltiges Buch lese, einen Zeitungsartikel (der sehr viel kürzere Zeilen hat, dafür mehrspaltig ist) oder eine Tabelle in Excel.Oder eben einen Quelltext. Jeder dieser Texte ist unterschiedlich formatiert und in jedem der genannten Fälle gibt es gute Gründe dafür.


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Umfrage zu euren Erfahrungen mit ATC

Beitrag von Daniel (Specialist / 314 / 68 / 44 ) »
Weil sowohl Einrückungen wie auch Absätze einen Text strukturieren.
Wer etwas anderes behauptet hat es schlicht nicht verstanden.

Re: Umfrage zu euren Erfahrungen mit ATC

Beitrag von ralf.wenzel (Top Expert / 3935 / 200 / 281 ) »
Daniel hat geschrieben:Weil sowohl Einrückungen wie auch Absätze einen Text strukturieren.
Wer etwas anderes behauptet hat es schlicht nicht verstanden.
Niemand hat etwas anderes behauptet - du hast behauptet, dass der menschliche Lesefluss immer gleich ist.

Ich habe noch kein Buch gelesen, in dem Einrückungen den Text strukturieren. Ich habe gerade mal blind in das Regal vor mir gegriffen. John Grisham, "The Testament". Jeder Absatz beginnt mit einer Einrückung. Diese Einrückungen sind aber alle gleich breit.

Das nächste Buch. Auch Grisham. Wörtliche Rede eingerückt. Alles gleich tief eingerückt, egal wer "spricht".

Das ist genau DAS, was du am PP nicht gut findest, weil du je nach Anweisung unterschiedlich einrückst.

Gerade bei technischen Texten liegt Lesbarkeit sehr wohl im Auge des Betrachters. Darum finde ich zum Beispiel Leerzeilen zwischen Anweisungen der Lesbarkeit förderlich (weil viele Anweisungen mehrzeilig sind und ich so sofort sehe, wo die Anweisung anfängt und endet), bei einem Kunden wurde ich aufgefordert, alle unnötigen Leerzeilen zu vermeiden, weil das den Quelltext verlängert - was er unübersichtlich findet. Er will soviel Quelltext auf einen Blick sehen wie möglich.

Ich arbeite auch eher mit Umbrüchen (jedes Schlüsselwort in eine neue Zeile) als andere, die das schwer lesbar finden.

Code: Alles auswählen.

LOOP AT itab
ASSIGNING FIELD-SYMBOL(<row>)
WHERE....
während andere lieber schreiben

Code: Alles auswählen.

LOOP AT itab ASSIGNING FIELD-SYMBOL(<row>) WHERE....
(gerade im schmalen Debugger-Fenster finde ich schmalen Quelltext deutlich praktischer).

Es gibt Leute, die lieber tabellenartig schreiben (gerade bei Deklarationen, weil das auch für die Zwischenablage praktisch ist), andere (zumeist die, die von anderen Programmiersprachen kommen) halten das für unleserlich, gerade weil das Zeilen künstlich verlängert.

Und wo wir gerade bei Deklarationen sind: Bei Kettenanweisungen schreibe ich die Anweisungen immer allein in eine Zeile:

Code: Alles auswählen.

DATA:
  a TYPE char1,
  b TYPE char1.

Code: Alles auswählen.

DATA:  a TYPE char1,
        b TYPE char1.
(technischer Hinweis: a und b sollten eigentlich untereinander stehen, im ABAP Editor tun sie das)

Warum? Weil ich so auf den ersten Blick sehe, dass es eine Kettenanweisung ist und ich jede (auch die erste) mit einem * auskommentieren kann.

Lesbarkeit liegt nicht im Auge des Betrachters? Ich denke, das ist sehr wohl der Fall. Die Frage, wie jemand einen Quelltext formatiert, sagt viel über die Person aus. Man kann "Chaoten" herauslesen und Korinthenk*ck**. Übertrieben gesagt: Zeig mir deine Quelltextformatierung und ich sag dir, wer du bist. ;)


Ralf

Folgende Benutzer bedankten sich beim Autor ralf.wenzel für den Beitrag:
DeathAndPain

Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Umfrage zu euren Erfahrungen mit ATC

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
ralf.wenzel hat geschrieben: Und wo wir gerade bei Deklarationen sind: Bei Kettenanweisungen schreibe ich die Anweisungen immer allein in eine Zeile:
Das sind genau die Eigenarten, die man auch durch ATC & Co. nicht weg bekommt. Da hat einfach jeder seine Gewohnheiten und Macken.

Ich habe mir z.B. angewöhnt, so gut wie nie Ketten-Datendeklarationen zu machen. Jede Variable beginnt mit DATA. Dann kann man erstens JEDE Zeile auskommentieren oder JEDE Zeile per Cut & Paste verwerten. Bei Kettenanweisungen muss man immer irgendwo was anpassen.

Aber das sind Kleinigkeiten. Auch über

Code: Alles auswählen.

DATA 
    : var1 TYPE c
    , text TYPE string
    , check TYPE boolean
    .
schaue ich inzwischen hinweg... ;)

Wichtiger ist, dass man zum Beispiel auf die bereits erwähnten überflüssigen Konvertierungen hingewiesen wird um diese zu löschen. Denn sie machen den Code unnötig komplexer.
Einiges kann man durch geschicktes Design wett machen. Aber das muss man erkennen, begreifen und selber wollen.
Man kann eine Methode, die z.B. einen "Text" auswerten soll (Suche, Muster, prüfen, ...) anstelle mit TYPE TEXT80 auch mit TYPE CLIKE typisieren. Und schon brauche ich keine Umwandlungen mehr, um beim Aufrufen dem beliebig gewählten Typ zu entsprechen bzw. eine Konvertierung machen zu müssen.

Re: Umfrage zu euren Erfahrungen mit ATC

Beitrag von ralf.wenzel (Top Expert / 3935 / 200 / 281 ) »
Der Punkt ist, dass für eine Software „aus einem Guss“ genau diese individuellen Dinge vereinheitlicht werden müssen. Ähnlich wie bei eurem Buch, wo man nicht merkt, wer was geschrieben hat.


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Umfrage zu euren Erfahrungen mit ATC

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Daniel hat geschrieben:Gute Lesbarkeit liegt NICHT im Auge des Betrachters!
Doch, tut es.
Es gibt in einem Programm keinen „Lesefluss“.
Wenn, dann eher einen Verständnisfluss.

Und da hat jeder andere (Vor-) Kenntnisse und Präferenzen.

Der prettyprinter ist ein fester Bestandteil der ABAP-Programmierung. Ein quelltext, bei dem durch Anwenden des PP die Verständlichkeit „zerstört“ wird, ist definitiv nicht gut.

Wichtig ist in einem Quelltext, dass man möglichst schnell erfassen kann, worum es geht und wie die Logik für die Verarbeitung ist und in welchem Kontext diese steht. Es ist also wichtig, zu erkennen, „wer in dem Kapitel ermordet wird“. Die Formatierung des quelltextes hilft dabei. Eine „extravagante“ Formatierung ist eher hinderlich.

@ralf @daniel: ich würde ja gerne mal ein paar beispiele von euren programmen sehen, über die ihr euch gegenseitig so auslasst, ohne dass jemand anderes ausser ihr weiss, um was es genau geht... die Wahrscheinlichkeit, dass das zerissen wird, ist sicherlich gegeben, aber vielleicht können wir uns (in einem neuen Thread) darauf einigen, dass genau das nicht getan wird?!

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
ralf.wenzel


Re: Umfrage zu euren Erfahrungen mit ATC

Beitrag von ralf.wenzel (Top Expert / 3935 / 200 / 281 ) »
Hallo Enno,

deinem Wunsch kann nicht entsprochen werden. Und zwar aus zumindest folgenden Gründen:

1. Ich habe keinen Zugriff auf Daniels Coding

Wir haben knapp 6 Jahre gemeinsam für einen Kunden gearbeitet. Darum streiten wir wie ein altes Ehepaar :D Inzwischen habe ich auf die Systeme keinen Zugriff mehr.

2. Codeschnippsel sind ein falscher Weg

Die Differenzen zwischen Daniel und mir liegen nicht in der Frage, welcher Schnippsel besser ist, sondern welches *Prinzip* besser ist. Dazu müsste man einen Tausende-Zeilen-Report einer entsprechenden Klassenarchitektur gegenüberstellen. Das geht hier nicht nur nicht, das dürfen wir auch gar nicht.

3. Was soll das?

Jeder von uns hat mal schlechten Code produziert und wenn jeder den des anderen zeigt, verlieren beide und jeder macht den anderen zum Obst. Das ist unter meiner Würde und ich denke, unter Daniels auch.

Daniel hat sehr tiefes Wissen bis weit in den Kernel hinein, was ich respektiere und anerkenne. Über diese Dinge habe ich einiges von ihm gelernt. Seine „OO in SAP ist immer Mist“-Einstellung ist es, mit der ich nicht klarkomme.

Nachtrag: Weil jede pauschale Aussage falsch ist und es genügend Beispiele gibt (die auch ich hier schon geschildert habe), die beweisen, dass es durchaus sinnvolle Anwendungsfälle gibt. Auch die pauschale Aussage
Daniel hat geschrieben:Polymorphie führt zu unlesbarem Code.
(weil es abstrakt ist) ist ebenfalls nicht richtig. Mit der Einstellung müsste man sagen „Ein komplexer mathematischer Beweis ist ohne Einarbeitung unlesbar, also lassen wir die Finger davon“. Es gibt einen Overhead bei der Einarbeitung, aber man hat eben auch zentrales Coding, das in höchstem Maße wiederverwertbar ist. Ich habe im aktuellen Projekt mehrfach zentrale Änderungen in verschiedenen Hierarchie-Ebenen durchgeführt, die sofort auf alle betroffenen Geschäftsprozesse durchgeschlagen haben, weil alle Prozesse sich derselben, (zugegebenermaßen sehr) abstrakten Logik bedienen. Konventionell hätten x Entwickler das in ihren Teilmodulen x Mal ändern müssen. (Ende Nachtrag ;) )

4. Aufgaben unterscheiden sich

Man müsste schon dasselbe Problem mal so und mal so lösen, um darüber reden zu können, was besser ist.

Nachtrag: Und zwar unter Berücksichtigung der Wartungsaufwände, die sich z. B. durch Unit-Tests einsparen lassen. Ich habe gerade auf diesem System erlebt, wie schwierig es ist, den vollen Funktionsumfang einer Anwendung zu ermitteln, die modernisiert neu geschrieben werden sollte. Keine Spezifikation, keine Tests, nur ein paar Anwender, die einem den von ihm verwendeten Funktionsumfang beschreiben können, teilweise durch „Krücken“ realisiert und natürlich nicht vollständig. Unit-Tests tragen dazu bei, zu verstehen, unter welchen Bedingungen welches Ergebnis herbeigeführt werden soll. Das hätte mir geholfen.


Ralf
Zuletzt geändert von ralf.wenzel am 28.01.2018 10:03, insgesamt 1-mal geändert.
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Umfrage zu euren Erfahrungen mit ATC

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
ralf.wenzel hat geschrieben: 1. Ich habe keinen Zugriff auf Daniels Coding
Da hast du mich falsch verstanden! Ihr sollt euch ja nicht gegenseitig bloss stellen, sondern jeder sollte einen kleines stück quelltext posten, von dem er meint, dass es genau richtig ist und von dem ihr wisst, dass es genau das ist, was der andere doof findet. Einfach damit ich mal weiss, worüber ihr euch gegenseitig immer beharkt.

Aber wahrscheinlich hast du recht: über Codeachnipsel zu diskutieren ist quatsch. Da können wir gleich anfangen, ob Courier oder Arial SAP monospaced die bessere Schrift für coding ist...

Ich bin für die Erstellung eines neuen Forums: programmierparadigmen oder Clean code (oder so ähnlich)... wir sind hier jedes mal sowas von offtopic... ;)

Re: Umfrage zu euren Erfahrungen mit ATC

Beitrag von ralf.wenzel (Top Expert / 3935 / 200 / 281 ) »
Es geht ja noch weiter: Auf mein Coding auf diesem System habe ich ja auch keinen Zugriff mehr. Aber es gibt so ein Beispiel.

Daniel hat mal eine funktionale statische Methode gepostet, die nur einen Konvertierungsexit aufruft, um zu zeigen, wie blödsinnig OO sei. Es gibt eine ganze Klasse mit solchen Methoden bei diesem Kunden und diese Methoden haben durchaus Vorteile, die mit OO überhaupt nichts zu tun haben (die ganze Klasse ist statisch):

Der Funktionsbaustein zerschneidet mir nicht das Coding, ich kann die Methode direkt an einer funktionalen Operandenposition einsetzen (quasi wie ein CONV). In meinen Augen ist das lesbarer, in seinen schon deshalb Quatsch, weil es in einer Methode steht. Zudem kann man potentiell an zentraler Stelle auch Prüfungen einbauen, um zu ermitteln, ob die Konvertierung überhaupt möglich bzw. sinnvoll ist. Das Verfahren ist mit internen Entwicklern auch so abgesprochen worden und sie haben diese Konvertierungsklasse auch schon erweitert, als ich noch dort war.


Ralf *nichts hier ist OT, solange es mit ABAP zu tun hat ;)
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Vergleichbare Themen

30
Antw.
13214
Views
Umfrage
von ewx » 01.11.2012 16:55 • Verfasst in SAP - Allgemeines
1
Antw.
1129
Views
Umfrage zum Thema EWM
von rreichl » 23.10.2013 07:41 • Verfasst in Material Management & Produktionsplanung
22
Antw.
7444
Views
Umfrage: ABAP Objects / Webdynpro vs. classical Dynpro
von zeWa » 21.07.2014 13:35 • Verfasst in ABAP Objects®
20
Antw.
8943
Views
Erfahrungen mit Eclipse
von schick » 14.03.2018 09:51 • Verfasst in SAP - Allgemeines
3
Antw.
4802
Views
GUIXT Erfahrungen
von Murdock » 24.03.2014 11:38 • Verfasst in SAP - Allgemeines

Aktuelle Forenbeiträge

Regex in where
vor 4 Stunden von edwin 7 / 163
Daten an Tabelle binden
vor 18 Stunden von Bright4.5 3 / 1486

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Regex in where
vor 4 Stunden von edwin 7 / 163
Daten an Tabelle binden
vor 18 Stunden von Bright4.5 3 / 1486

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9821