Code Inspector -> Eigene Prüfung


Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV

Moderatoren: Jan, Steff

Code Inspector -> Eigene Prüfung

Beitragvon SaskuAc » 09.05.2018, 07:01

Hallo Zusammen,

gerade bin ich dabei, da ich etwas Zeit nebenbei habe, eine Prüfung für den Code Inspector zu schreiben. Nun möchte ich noch ein paar Prüfungen einbauen.
Speziell geht es mir darum, dass die Entwickler "clean" programmieren sollen. Heißt in einer einheitlichen Form, so dass es schön lesbar ist. Ein Aspekt der dabei schon sehr gut unterstützt, ist der Pretty Printer.
Für die Prüfung von "Clean Code" möchte ich jetzt einfach prüfen ob der Entwickler den Pretty Printer verwendet hat.

gibt es also eine Möglichkeit, zu Prüfen, über einen FUBA, Methode, etc. ob ein Pretty Print ausgeführt worden ist?

Vielen Dank.
SaskuAc
Specialist
 
Beiträge: 154
Registriert: 01.06.2015, 10:16
Dank erhalten: 15 mal
Ich bin: Entwickler/in

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: Code Inspector -> Eigene Prüfung

Beitragvon black_adept » 09.05.2018, 07:22

Nein - und das ist auch gut so!
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Für diese Nachricht hat black_adept einen Dank bekommen :
Daniel
black_adept
Top Expert
 
Beiträge: 2965
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 491 mal
Ich bin: Freiberufler/in

Re: Code Inspector -> Eigene Prüfung

Beitragvon SaskuAc » 09.05.2018, 07:47

black_adept hat geschrieben:Nein - und das ist auch gut so!


Wieso?
SaskuAc
Specialist
 
Beiträge: 154
Registriert: 01.06.2015, 10:16
Dank erhalten: 15 mal
Ich bin: Entwickler/in

Re: Code Inspector -> Eigene Prüfung

Beitragvon Tron » 09.05.2018, 08:17

Moin.
Rezept zum erweitern des Codeinspector
https://blogs.sap.com/2006/11/02/code-i ... new-check/

Ich würde aber auch keine Erweiterung für eine Pretty Print Prüfung vornehmen,
sondern die Quellcodes lesen, Pretty print im Speicher durchführen und mit
CALL FUNCTION 'RS_CMP_COMPUTE_DELTA'
die Unterschiede ermitteln.
Aber Vorsicht, es gibt Ecken, wo der Pretty print nicht funktioniert.
(z.B. In user-Exits mit Include-Coding, oder in Modifikationen.)

gruß Jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.
Tron
Expert
 
Beiträge: 936
Registriert: 04.08.2007, 21:08
Wohnort: Hamburg
Dank erhalten: 167 mal
Ich bin: Entwickler/in

Re: Code Inspector -> Eigene Prüfung

Beitragvon a-dead-trousers » 09.05.2018, 08:20

SaskuAc hat geschrieben:
black_adept hat geschrieben:Nein - und das ist auch gut so!

Wieso?

Ich würde mal behaupten, weil der Pretty-Print benutzerbezogen einstellbar ist und daher bei der Prüfung uU unterschiedliche Varianten verglichen werden.
(siehe auch Antwort von Jens bezüglich RS_CMP_COMPUTE_DELTA)
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40
a-dead-trousers
Top Expert
 
Beiträge: 2937
Registriert: 07.02.2011, 13:40
Dank erhalten: 723 mal
Ich bin: Entwickler/in

Re: Code Inspector -> Eigene Prüfung

Beitragvon black_adept » 09.05.2018, 09:36

SaskuAc hat geschrieben:
black_adept hat geschrieben:Nein - und das ist auch gut so!
Wieso?
Weil SAP von Zeit zu Zeit den PP überarbeitet - und wenn dann Codestrecken im Transport sind, obwohl an ihnen keine Änderungen vorgenommen wurden ( bzw. diese wieder zurückgebaut wurden, sie aber damit auch im Transport stehen ) meckert die Prüfung . Desweiteren gibt es manchmal gute Gründe eine andere Formatierung als die vom PP zu verwenden - einfach weil es dann schöner aussieht.
Wenn man so weit geht einem Entwickler zu unterstellen Code abzugeben, der durch den PP lesbarer würde, kann man auch gleich vorschreiben Datendeklarationen oder WHEN-Anweisungen in alphabetischer Reihenfolge durchzuführen...
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Für diese Nachricht hat black_adept einen Dank bekommen :
Daniel
black_adept
Top Expert
 
Beiträge: 2965
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 491 mal
Ich bin: Freiberufler/in

Re: Code Inspector -> Eigene Prüfung

Beitragvon ewx » 09.05.2018, 11:20

http://www.tricktresor.de/blog/series/c ... erweitern/

Speziell zu Pretty Printer fällt mir auch nur der Ansatz von Jens ein.
ewx
Top Expert
 
Beiträge: 3657
Registriert: 04.08.2003, 19:55
Wohnort: Schleswig-Holstein
Dank erhalten: 272 mal

Re: Code Inspector -> Eigene Prüfung

Beitragvon SaskuAc » 09.05.2018, 12:47

Also ich weiß, wie ich eine eigene Prüfung schreibe, ist ja nicht meine erste :) ( danke dennoch! - achja, durch Tricktresor habe ich es auch ursprünglich gelernt, verfolge den block sehr gerne ;) )

Okay, zur Info, ich hätte sowieso nur den geänderten Code getestet, dafür habe ich meine Methoden :) - aber die Bedenken sind natürlich war, daran habe ich nicht gedacht, dass theoretisch jeder seine eigene Einstellungen für den PP hat ..

Das der PP auch häufiger nicht Ideal ist, ist mir auch bewusst, allerdings müssen insbesondere die Entwickler die von unserem Uralt ERP System ( auf dem sie COBOL programmieren ) auf SAP wechseln lernen dass man den Code formatiert.. ich habe programme bei denen gesehen, mein gott .. da wird einem ( wenn's um Formatierung geht ) schlecht.. deswegen sollte das zumindest eingebaut werden.

Was man eventuell einbauen könnte, wäre eine Prüfung ob der User die Rechte zum Entwickeln schon über einen gewissen Zeitraum ( z. B. 3 Monate ) hat. - Wenn ja, soll die Source nicht auf PP geprüft werden.. könnte eine Idee sein... aber da muss ich mir nochmal Gedanken machen und das abklären, was da am besten ist.
SaskuAc
Specialist
 
Beiträge: 154
Registriert: 01.06.2015, 10:16
Dank erhalten: 15 mal
Ich bin: Entwickler/in

Re: Code Inspector -> Eigene Prüfung

Beitragvon black_adept » 09.05.2018, 13:19

@SaskuAc: Wenn dein Problem die Dinos sind: Macht lieber am Anfang einen monatlichen Codereview und schnapp dir halt die Deliquenten, die tatsächlich völlig unleserlichen Code abgeben, der durch den PP hübscher wird. Bin zwar im Grunde kein Fan des Prangers - aber wenn's hilft....
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de
black_adept
Top Expert
 
Beiträge: 2965
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 491 mal
Ich bin: Freiberufler/in

Re: Code Inspector -> Eigene Prüfung

Beitragvon ewx » 09.05.2018, 14:20

Pranger ist nie gut!
Aufklärung und Problembesprechung sollte man ohne Pranger machen.
Entweder im 4-Augen-Gespräch oder anonymisierter Code in größerer Runde.
Da ist es dann hilfreich, wenn man wirklich gute Beispiele hat.
Mit "Das sieht einfach besser aus" kann man niemanden überzeugen.

Ich habe mir z.B. angewöhnt immer alle nicht verwendeten Parameter aus der Mustererzeugung komplett zu löschen (Aufruf von Funktionsbausteinen oder Methoden).
Es nervt mich tierisch, wenn diese sinnlosen, auskommentierten Zeilen im Quelltext sind. (die im Übrigen das Verhalten des PP negativ beeinflussen).
Andere (viele andere) scheint es nicht zu stören...
ewx
Top Expert
 
Beiträge: 3657
Registriert: 04.08.2003, 19:55
Wohnort: Schleswig-Holstein
Dank erhalten: 272 mal


Zurück zu ABAP® Core

  Aktuelle Beiträge   
cl_salv_table und Docking Container
vor 4 Stunden von black_adept 1 Antw.
Wasserzeichnen in Smartform
vor 2 Tagen von 4byte 1 Antw.
Struktur Feld vom Typen Type ref to
Gestern von a-dead-trousers 1 Antw.
execute procedure
vor 2 Tagen von Legxis 1 Antw.
leere Felder im IDoc übertragen
vor 2 Tagen von wreichelt 1 Antw.

  Ähnliche Beiträge beta
Code Inspector - Eingabeparameter nicht möglich
22.05.2018, 13:59 von SaskuAc 0 Antw.
Prüfung des Feldinhaltes
09.10.2003, 09:47 von black_adept 6 Antw.
Prüfung auf Sonderzeichen
10.01.2006, 10:39 von bakky 1 Antw.
CRC Prüfung mit ABAP
26.02.2007, 10:13 von TWP 5 Antw.
gelöst Prüfung Selektionsparameter
17.12.2015, 14:13 von Paradoxon5 4 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]