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: 169
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: 3014
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 506 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: 169
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: 939
Registriert: 04.08.2007, 21:08
Wohnort: Hamburg
Dank erhalten: 168 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: 2996
Registriert: 07.02.2011, 13:40
Dank erhalten: 743 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: 3014
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 506 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: 3708
Registriert: 04.08.2003, 19:55
Wohnort: Schleswig-Holstein
Dank erhalten: 282 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: 169
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: 3014
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 506 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: 3708
Registriert: 04.08.2003, 19:55
Wohnort: Schleswig-Holstein
Dank erhalten: 282 mal


Zurück zu ABAP® Core

  Aktuelle Beiträge   
gelöst Nachricht nach Beendigung der Verbuchung
vor 2 Tagen von ewx 2 Antw.
BCS sendet Mails immer als express?
vor 2 Tagen von Legxis 2 Antw.
Zuordnung in Grid (Screen)
vor 2 Tagen von HH_ABAP 0 Antw.
FBL3N ---> FB60
vor 2 Tagen von HH_ABAP 2 Antw.
Klasse zum lesen der Adressdaten
vor 2 Tagen von AdrianSchm 2 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]