[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte

Hybrid View

  1. #1
    Registriert seit
    Aug 2015
    Beiträge
    21
    Erstmal danke für das Feedback : )

    Die Ideen von von euch greife ich sehr gerne auf und werde mich damit weiter beschäftigen, RPG4Unit kannte ich nicht und auch die Escape Message via QMHSNDPM hört sich interessant an. Getter und Setter kenne ich von Java/C#, da muss ich mich auch einmal schlau machen wie man dies in RPG nutzt. Die Idee mit den Aliasen bei Profound ist auch klasse, kannte dies schon von der POW3R, jedoch noch nicht dazu gekommen mir das selber genauer anzuschauen, werde ich aber jetzt nachholen. Zudem viel mir noch ein das es auch sicher sinnvoll ist TFR da mit reinzunehmen, da dies auch nocht nicht von allen genutzt wird.

    An der Versionierung arbeite ich auch schon, dies ist ein Punkt in meinem Rdi Tutorial was ich gerade in meiner Freizeit erstelle um meinen Kollen die Vorteile von Rdi zu PDM aufzuzeigen. Wenn Rdi genutzt wird geschieht dies in der Abteilung eigentlich nur als grafischer Editor. Vorteile wie SVN/Git, TASKs, Snippets oder IBM i Projekte mit Push usw. kennt und nutzt keiner.

    Natürlich muss der Standard gelebt werden die Ideen werden auch noch mit den Kollegen besprochen, ich soll ja nur ein Grundkonzept entwickeln. Klar wird es auch Diskussionen dazu geben aber wichtig ist besonders das mit den Standards auch ein Stück weit dafür gesorgt werden soll das modern entwickelt werden soll besonders als Richtlinie für neue Azubis/Entwickler, die damit gleich modern Entwickeln sollen. Wäre natürlich schön wenn die älteren Kollegen diese mit aufgreifen aber wichtig ist vorallem das die neuen damit "aufwachsen"(Aussage Führungskräfte).

    Wenn es OK ist würde ich euch gerne auf den laufenden halten und weiter euer Feedback zu eventuellen anderen Ideen einholen : ) ?

  2. #2
    Registriert seit
    Jan 2012
    Beiträge
    1.199
    Ich fände es gut, weiter von euren Fortschritten zu hören. Oft ist bei solchen Diskussionen auch für andere Programmierer etwas neues dabei.

    Bei uns versuchen wir möglichst, die neuesten Programmiermöglichkeiten zu nutzen. Wir sind gerade dabei, das "Fully free" (also das RPG ohne Spaltenbegrenzung) zu nutzen. Leider gibt es da noch einen Bug. IBM sucht den gerade.

    Am leichtesten ist es, seine Kollegen von neuen Dingen zu überzeugen, wenn man sofort einen handfesten Vorteil mitliefert. Vielleicht kanst du ja einiges an allgemeingültigen Tools schreiben, die andere nutzen können. Oder du baust "schöne" Kopiervorlagen in neuem Stil. Die Erfahrung sagt, dass wenn für ein Themengebiet gleich anfangs eine gute Lösung existiert, wird diese sofort kopiert, wenn jemand ein ähnliches Problem hat.

    Wir haben bei uns einen Link zu einem zentralen Dokument, in dem viele Kopiervorlagen mit ihren spezifischen Eigenschaften aufgeführt sind. Wenn dann jemand z.B. eine Profound-Vorgabeseite für eine Auswertung mit SBMJOB-Option haben möchte, kann er so ganz einfach eine passende Kopiervorlage finden. So setzen sich Standards schnell durch.

    Desweiteren haben wir im RDi einige Schablonen definiert. Damit kann man sich ganze Codesequenzen in seinen Source eintragen lassen. Z.B. eine standardisierte Schleife für die Verarbeitung eines SQL-Cursors.

    Dieter

  3. #3
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    Frohes Neues zusammen,

    ich kenne eine Firma in der auch das GOTO verboten wurde ...
    Lösung der findigen Entwickler:

    DO

    und im 'GOTO' Fall

    LEAVE

    Ursprünglich war das ENDDO immer am Ende der SR

    Aber das ist durch verschiedene Entwickler und fehlende Standards 'raus-gewachsen'
    In den Pgmmen wünscht sich so mancher das GOTO wieder, da dann wenigstens der Ansprungspunkt einfach zu finden ist.
    Ihr solltet also nicht nur das GOTO verbieten sondern ggf auch mal eine Stil-Schulung durchführen.
    Manch guter Entwickler freut sich wenn er etwas anderes(nachweislich - begründbar besseres) kennen lernt
    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  4. #4
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    @QMHSNDPM: gehört natürlich in Funktionen gekapselt throw(...) für error auslösen und eventuell noch joblogout(...) als einfachere Alternative zu log4RPG. (aktuelles Beispiel findest Du u.a. hier: http://appserver4rpg.cvs.sourceforge....2&view=markup) etwas ältere findest Du auch hier: http://www.bender-dv.de/Snippets.html)
    @getter und setter: ebenfalls in den oben zu findenden Quellen.
    @RDI: das Problem mit RDI ist, dass es von der Optik her moderne Standards vortäuscht. Sieh dir mal all das an, was Eclipse unter Source und Refactoring kann, das fehlt bei RDI komplett. Leider gibt es derzeit nix besseres und bei RDI wird man darauf ewig warten dürfen, fürchte ich.
    @Snippets: da sollte man sich das Freemarker Plug in mal ansehen. Hier sollte man aber die Gefahr im Auge behalten, dass man bei generieren statt modularisieren landet. Wer viele Snippets verwendet, der macht in der Modularisierung was verkehrt!!!
    @"alte" Programmierer: das ist im wesentlichen keine Frage des Alters, sondern der Ausbildung - und da kann man nachbessern. Ohne dies ist das kaum sinnvoll.

    D*B
    PS:
    @Robi: Ich bin sicher kein Freund von leave und iter, gute Programme kommen auch ohne so etwas aus, aber besser als Goto ist das allemal, da man damit nur an das Ende oder den Anfang des Blocks kommt.
    @anderen Dieter: Das mit den Vorteilen kann ich nur unterstreichen. Was das sogenannte fully free angeht, habe ich leichte Vorbehalte, das ist doch wieder nur eine umständlichere Schreibweise für Kartenart (D in Spalte 6) und Kartenunterart (DS, S, PR, PI). Große Vorbehalte habe ich allerdings gegen Kopiervorlagen und Schablonen, das ist in Bezug auf Modularisierung kontraproduktiv.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Nun fehlen nur noch Preprozessor-Anweisungen (á la C++, also nicht nur /IF und /END-IF)), die Funktionen und Makros kapseln, so dass man wirklich nur im Spooler noch nachvollziehen kann, was das Programm wirklich tut.
    Ähnliches habe ich schon bei COBOL's Copy-Anweisung mit "replacing" gesehen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  6. #6
    Registriert seit
    Jan 2012
    Beiträge
    1.199
    Das mit den Vorteilen kann ich nur unterstreichen. Was das sogenannte fully free angeht, habe ich leichte Vorbehalte, das ist doch wieder nur eine umständlichere Schreibweise für Kartenart (D in Spalte 6) und Kartenunterart (DS, S, PR, PI). Große Vorbehalte habe ich allerdings gegen Kopiervorlagen und Schablonen, das ist in Bezug auf Modularisierung kontraproduktiv.
    Das unschöne am fully free ist, dass man gar kein fixed format mehr verwenden kann. Das heißt, man muss zwingend Prototypes für jeden CALL bauen. (Das haben wir jetzt automatisiert, war aber schon etwas Mühe).
    Bei den Kopiervorlagen kommt es meiner Meinung nach darauf an, was das für Kopiervorlagen sind. Es gibt ja Dinge, die man nicht generisch bauen kann (z.B. vieles was mit Masken zu tun hat). Da finde ich es besser, wenn jeder dieselbe Kopiervorlage verwendet. Es soll auf keinen Fall heißen, dass man kopieren anstatt modularisieren sollte!

    Dieter

  7. #7
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Zitat Zitat von dschroeder Beitrag anzeigen
    Das unschöne am fully free ist, dass man gar kein fixed format mehr verwenden kann. Das heißt, man muss zwingend Prototypes für jeden CALL bauen. (Das haben wir jetzt automatisiert, war aber schon etwas Mühe).
    Bei den Kopiervorlagen kommt es meiner Meinung nach darauf an, was das für Kopiervorlagen sind. Es gibt ja Dinge, die man nicht generisch bauen kann (z.B. vieles was mit Masken zu tun hat). Da finde ich es besser, wenn jeder dieselbe Kopiervorlage verwendet. Es soll auf keinen Fall heißen, dass man kopieren anstatt modularisieren sollte!

    Dieter
    ... das ist ja sogar mal eine positive Sache an "fully free". Seitdem man für exec sql nicht mehr aus dem free raus musste, habe ich jedenfalls keien C Zeile mehr benutzt.

    Bei näherem hinsehen entpuppt sich so manche Kopiervorlage als etwas. was man besser durch Modularisierung erreichen könnte, da geht mehr als die meisten denken, auch bei Masken!

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  8. #8
    cbe is offline [professional_User]
    Registriert seit
    May 2005
    Beiträge
    392
    Hallo Dominic,

    das erinnert mich an meine ersten Wochen in meiner Firma. Da habe ich auch Programmierrichtlinien einführen sollen.
    Nur wurden halt selten wirklich neue Programme geschrieben, sondern immer nur geändert oder "was ähnliches wie dortunddort" erstellt (also kopiert+angepasst).
    Dadurch blieben die verschiedenen Stile erhalten, weil die komplette bestehende Software umstellen macht keinen Sinn.

    Was mir letztlich gelungen ist, ist im wesentlichen folgendes:
    - Eingangsparameter und lokale temporäre Variablen haben ein erkennbares Präfix
    - Kopieren+Anpassen möglichst vermeiden. Lieber nur 1 Routine mit Parametern.
    - sinnvolle COPYs eingeführt für Dinge, die immer wieder manuell ausformuliert waren
    - Templates für Reportprogramme (redundante Logik zentral ausgelagert)
    Und das alles nur bei neuen Programmen. Das ist im Rückblick nicht allzuviel.
    Andererseits wenn ich den Entwicklungstil komplett neu erfunden hätte, dann wäre die heterogene Landschaft um 1 Variante reicher geworden, und dadurch noch schlimmer.


    Letztlich wirklich wichtig war es, eine Versionsverwaltung einzuführen, um Änderungen nachvollziehbar zu machen und Quellen gegen parallele Änderungen zu sperren.

    Weiterhin wichtig ist es, die Einhaltung der Regeln zu prüfen!
    Die Versionsverwaltung wurde hochgelobt - und ich musste später feststellen, dass aus Bequemlichkeit nur 95% darüber lief. Erst ein regelmäßiger (automatischer) Check und dann auf die Finger hauen half.


    Das ist wahrscheinlich nicht ganz das, was Du hören willst.
    Aber vielleicht ist Deine Situation auch eine ganz andere wie bei mir damals :-)
    Viel Erfolg!

    Gruß, Christian

  9. #9
    Registriert seit
    Aug 2015
    Beiträge
    21
    Also ich liebe TFR(total free rpg) oder wie ihr es nennt fully free RPG (gibt es da eine offi. Bezeichnung von IBM? ) Habe noch das beschnittene Free RPG am Anfang der Ausbildung mitbekommen und fand die Variablendeklaration immer sehr umständlich, mit dem TFR ist das viel einfach gelöst wie ich finde

    Ich warte einfach ab wie es aufgenommen wird es wird Zeit brauchen das ist klar aber hoffe das sich alle damit anfreunden können was zum Schluss durch die Führungskräfte abgesegnet wird! Aber wie gesagt geht es dabei ja auch primär um neue Mitarbeiter. Mir ist auch bewusst das man nicht einfach mal alle Programme modernisieren kann, aber z.B. als ich auf der Common-D Azubi Schulung für RPG war hat ein Mitstudent erzählt das seine Firma einen externes Programm gekauft hat und dann haben die beim Anfassen eines Programmes dieses einfach vorher in TFR umgewandelt und mussten ab und zu nurnoch ein paar kleine Probleme manuell fixen
    Find ich genial, leider sind wir davon bei uns in de Firma noch weit weg

    Am überlegen bin ich ob MVC mit in die Standars rein sollte, habe letzens einen Artikel von S. Klement und P. Tohy gefunden und war freudig überrascht. Kenne MVC bereits von C#/Java und da ist MVC ja seit Jahren Standard bei der Entwickung.

    Grüße
    Dominic

  10. #10
    Registriert seit
    Jan 2012
    Beiträge
    1.199
    Zur Klarstellung: Früher gab es nur das "Fixed Format" RPG. Vor einigen Jahren hat IBM dann das sogenannte "free format" RPG herausgebracht. Dort konnte man einigen Code in freierer Form schreiben, die Deklaration der Variablen war aber noch auf fixed format angewiesen. Danach gab eine Erweiterung zum "total free RPG", in dem dann auch alle Deklarationen im free format gemacht werden konnten. (Also Einführung der dcl- Anweisungen).
    Aber auch dieses "total free RPG" hat noch eine Einschränkung: Code kann nur in den Spalten 7 bis 80 stehen.

    Seit Ende November 2015 gibt es jetzt das "fully free RPG". Dort ist jegliche Spaltenbeschränkung aufgegeben. Man kann also ganz links in Spalte 1 anfangen zu schreiben und soweit nach rechts raus schreiben, bis die maximale Breite der SRCPF erreicht ist (Wir haben das bei uns auf 240 eingestellt).

    Die Begriffe habe ich von den IBM Veröffentlichungen übernommen. Ich finde sie auch etwas ungewöhnlich. Aber da IBM die Free-Syntaxen in mehreren Schritten eingeführt hat, gingen denen anscheinend die Begriffe aus. Dehalb ist wohl die Rede von "free", "totally free" und "fully free".

    Dieter

  11. #11
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Mal sehen, welche Free-Varianten es demnächst gibt und wie die heißen.
    Es gibt ja keinen Grund, warum eine DCL-Anweisung unbedingt am Anfang stehen muss.
    Der Compiler arbeitet ja sowieso in mehreren "Phasen".

    Die nächste Option ist ein Copy, der je nach Quelltyp ein Copystrecke automatisch von RPG nach ILERPG nach FullyFree konvertiert.
    Hierbei werden dann dynamisch erstellte Variablen (was ja nur im Nicht-Free geht) dann kurz davor per DCL definiert.
    PLIST-Aufrufe werden in PR's konvertiert und die Call's angepasst.
    KLIST's werden aufgelöst (entfernt) und die entsprechenden EA-Befehle um die Keyfelder ergänzt.
    Hier brauche ich dann nicht mehr zu suchen, mit welchem Schlüssel denn nun tatsächlich zugegriffen wird.
    Dann brauch ich mich um die "Modernisierung" der Quellen auch nicht mehr zu kümmern.

    Nun gut, das automatische Konvertieren von Subroutinen in Prozeduren wird dann wohl nicht lange auf sich warten lassen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  12. #12
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Nun gut, das automatische Konvertieren von Subroutinen in Prozeduren wird dann wohl nicht lange auf sich warten lassen.
    ... umsetzen von SUBRs nach PROCs konnte das Linoma Teil schon bevor es free gab.

    D*B, der das Gedöns um free RPG nicht verstehen kann, das war für andere Programmiersprachen schon normal, bevor die meisten Programmierer aus den Windeln raus waren.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

Similar Threads

  1. Artikel: Ideen und Tools für die Workforce der Zukunft
    By NEWSolutions Redaktion in forum NEWSolutions artikel
    Antworten: 1
    Letzter Beitrag: 07-12-15, 06:30

Tags for this Thread

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •