Code: Alles auswählen.
WRITE: / 'Datum:', sy-datum.
WRITE: / 'Uhrzeit:', sy-uzeit.
WRITE: / 'Benutzer:', sy-uname.
Soll das die Grundlage fuer eine Diskussion werden... "ausgemachter Quatsch"?!?!?!ralf.wenzel hat geschrieben:Ich verweise da einfach mal auf den Link in meiner Signatur zur Ungarischen Notation, in dem sehr deutlich dargestellt ist, warum das ausgemachter Quatsch ist, Sichtbarkeit und Datentyp in den Namen eines Datenobjektes zu schreiben.
Mein Originalposting zu dem Thema wurde leider versehentlich vom Mod gelöscht, da habe ich mich vorsichtiger ausgedrückt. Leider bringst du kein sachliches Argument, warum (!) die Lesbarkeit verbessert wird. Mein Artikel, auf den ich verweise, ist dagegen voller sachlicher Argumente. Aber den hast du wahrscheinlich nicht gelesen....Unit605 hat geschrieben:Soll das die Grundlage fuer eine Diskussion werden... "ausgemachter Quatsch"?!?!?!ralf.wenzel hat geschrieben:Ich verweise da einfach mal auf den Link in meiner Signatur zur Ungarischen Notation, in dem sehr deutlich dargestellt ist, warum das ausgemachter Quatsch ist, Sichtbarkeit und Datentyp in den Namen eines Datenobjektes zu schreiben.
Was macht ihr denn mit globalen Variablen? Eigentlich sollte man auf globale Felder komplett verzichten. Auch einen Report kann man so schreiben, dass die eigentliche Logik in einer lokalen Klasse steckt, in der verbietet sich die Verwendung globaler Variablen von Haus aus.a-dead-trousers hat geschrieben: Wir in unserer Firma haben entschieden alles in englisch zu programmieren. Da ABAP nun sehr viele Schlüsselwörter besitzt aber kein Camel-Case wird es rein nur mit einem Namen ohne irgendwelche Zusätze (lv_, lt_) sehr schwierig im Code zwischen Variablen, Methoden, Befehlen usw. zu unterscheiden (nein, wir haben leider noch kein Eclipse). Einzig in Klassen, da gebe ich dir recht, ist es dank des Zusatzes me-> bzw. <classname>=> sehr leicht den Kontext einer Variable zu erkennen. Nur muss das dann auch, meiner Meinung nach, von der Programmierumgebung forciert werden um ein Vorteil zu sein. Glaub mir ich habs echt versucht meine Kollegen auf die Verwendung von me-> zu drillen, aber manche sind einfach zu faul für vier zus. Zeichen. Da bin ich schon froh, dass wir uns auf ein dreier-Kürzel (gt_, gs_ usw.) einigen konnten.
"Globale" Variablen sehen wir kontext-abhängig. Instanz-Variablen einer Klasse (egal ob lokal in einem Programm oder im Repository) und globale Variablen in einem Programm beginnen mit G. Alles statische beginnt mit S (wir versuchen in Methoden bzw. Form-Routinen keine statische Variablen zu definieren, somit haben sie eigentlich bei uns einen globalen Kontext). Konstanten beginnen mit C.ralf.wenzel hat geschrieben:Was macht ihr denn mit globalen Variablen? Eigentlich sollte man auf globale Felder komplett verzichten. Auch einen Report kann man so schreiben, dass die eigentliche Logik in einer lokalen Klasse steckt, in der verbietet sich die Verwendung globaler Variablen von Haus aus.
Da waren sie wieder: Meine acht Probleme! Sei froh, dass du die Beschränkung nur hier hast (Von Tabellen mit 16 Zeichen mal abgesehen). In IS-H gibt es einige Stellen an denen man techn. mit acht Zeichen auskommen muss (und das bei oft mehr als 100 Felder die man anlegen muss)ralf.wenzel hat geschrieben:Das ist doch genau das, was ich sage: P_DATUM und S_DATUM sind absolut nichtssagend. Viel wichtiger ist: Was für ein Datum ist das? Wo wird es verwendet? Wo ist der semantische Bezug. Wenn man (du scheinst ja beim Selektionsbild zu sein) von den acht Zeichen schon zwei für redundante Informationen verschwendet, bleibt nicht mehr viel Platz für wirklich wichtige Informationen.
Definier mal eine SELECT-OPTION mit Bezug auf ein DDIC-Objektralf.wenzel hat geschrieben:Und auch an dich die Frage: Warum hampelst du mit globalen Feldern in deinen Programmen herum? Von denen sagt ja sogar die SAP in ihren Programmierrichtlinien, dass man sie nicht verwenden sollte.
Im ABAP verpackt man alles in Includes. Methoden, Klassen, Testklassen. Man sieht sie halt oft nicht. Ich habe kein Problem damit, ein Include für eine lokale Klasse anzulegen (in der Regel sind es sogar zwei, weil ich Definition und Implementation in unterschiedliche Includes schreibe). Abgesehen davon braucht man nicht zwingend ein Include, man kann die Klasse auch einfach in den Report schreiben (was aber, wie du schon sagst, nicht sonderlich übersichtlich ist).a-dead-trousers hat geschrieben:ralf.wenzel hat geschrieben:So gut die Idee ist, lokale Klassen zu verwenden, so sehr verabscheue ich deren Umsetzung in ABAP. Man muss sie erst wieder in Includes verpacken um halbwegs wiederverwendbaren bzw. übersichtlichen Code zu haben (Nochmal: Kein Eclipse). Nach Möglichkeit lege ich daher schon von Haus aus eine Klasse im Repository an und schreib erst danach das Programm, das den Aufruf bewerkstelligt. Oder im mach gleich eine OO-Transaktion draus.
So weit muss ich gar nicht gehen. Gegeben sei ein Kunden-Namensraum....a-dead-trousers hat geschrieben:Da waren sie wieder: Meine acht Probleme! Sei froh, dass du die Beschränkung nur hier hast (Von Tabellen mit 16 Zeichen mal abgesehen). In IS-H gibt es einige Stellen an denen man techn. mit acht Zeichen auskommen muss (und das bei oft mehr als 100 Felder die man anlegen muss)Definier mal eine SELECT-OPTION mit Bezug auf ein DDIC-Objektralf.wenzel hat geschrieben:Und auch an dich die Frage: Warum hampelst du mit globalen Feldern in deinen Programmen herum? Von denen sagt ja sogar die SAP in ihren Programmierrichtlinien, dass man sie nicht verwenden sollte.
Code: Alles auswählen.
FORM unterprogramm TABLES gt_itab.
ralf.wenzel hat geschrieben:Das ist doch genau das, was ich sage: P_DATUM und S_DATUM sind absolut nichtssagend. Viel wichtiger ist: Was für ein Datum ist das? Wo wird es verwendet? Wo ist der semantische Bezug. Wenn man (du scheinst ja beim Selektionsbild zu sein) von den acht Zeichen schon zwei für redundante Informationen verschwendet, bleibt nicht mehr viel Platz für wirklich wichtige Informationen.
Und auch an dich die Frage: Warum hampelst du mit globalen Feldern in deinen Programmen herum? Von denen sagt ja sogar die SAP in ihren Programmierrichtlinien, dass man sie nicht verwenden sollte.
Und wenn schon, häng dich doch nicht an einzelnen Worten auf. Ich bin aus dem Pott, da redet man so: Kurz, knapp, deutlich. Das ist ja kein persönlicher Angriff. manmanman, was ist bloß aus der Diskussionskultur in diesem Land geworden? Ich bin groß geworden zu Zeiten, wo Wehner und Strauß sich blutige Wortgefechte im Bundestag geliefert haben und trotzdem nachher noch ein Bier zusammen getrunken haben.Unit605 hat geschrieben:So weit ich mich erinnere, hast Du in Deinem Originalposting auch den Begriff "ausgemachter Quatsch" verwendet. Waere schoen, wenn der Admin das Original noch irgendwo ausgraben kann.
Doch, mir!Unit605 hat geschrieben:Warum liest Du mein Posting nicht? Dort hab ich doch geschrieben, dass ich einem ABAPLer das nicht erklaeren muss.