{"id":94,"date":"2025-05-05T17:37:00","date_gmt":"2025-05-05T15:37:00","guid":{"rendered":"https:\/\/rc.mmmake.com\/?p=94"},"modified":"2026-06-16T10:11:41","modified_gmt":"2026-06-16T08:11:41","slug":"clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich","status":"publish","type":"post","link":"https:\/\/mmmake.com\/de\/blog\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\/","title":{"rendered":"ABAP Clean Code Guidelines &#8211; interessiert mich das wirklich"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em><strong>Ein Beitrag von Alexander Vogel<\/strong><\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Im Jahr 2008 hat Robert C. Martin sein Buch \u00fcber Clean Code\u202f\u201eClean Code: Refactoring, Patterns, Testen und Techniken f\u00fcr sauberen Code\u201c geschrieben und damit diesen Begriff gepr\u00e4gt sowie die Weichen f\u00fcr ABAP Clean Code gelegt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Im April 2019 stellte die SAP einen Styleguide zum ABAP Clean Code\u202ff\u00fcr Entwickler vor, an dem sich Entwickler und Teams orientieren k\u00f6nnen. Dieser Styleguide ist eine Adaption von Robert C. Martins Buch und behandelt alle wichtigen Punkte im ABAP Umfeld.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Heute, \u00fcber 2 Jahre sp\u00e4ter stellen wir uns nun die Fragen \u201ewas genau ist Clean Code?\u201c, \u201esollten wir Legacy Code umbauen?\u201c und am wichtigsten \u201ebrauchen wir Clean Code?\u201c. Wir wollen uns hier nun diesen Fragen widmen und uns kleine Beispiele ansehen. Also \u2026<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"wasistcleancode\">Was ist Clean Code?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Clean Code\u202fist kein strenges Regelwerk, eher eine Philosophie, die sich an den folgenden Prinzipien orientiert:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>KISS (Keep it simple, stupid)<\/strong><br>Halte deinen Code einfach. Eine Methode sollte immer nur eine Sache machen.<\/li>\n\n\n\n<li><strong>DRY (Don\u2019t repeat yourself)<\/strong><br>Wiederhole deinen Code nicht. Lagere ihn in eine Methode aus, um ihn erneut zu verwenden.<\/li>\n\n\n\n<li><strong>YAGNI (You aren\u2018t gonna need it)<\/strong><br>F\u00fchre zus\u00e4tzliche Funktionalit\u00e4ten erst ein, wenn du sie ben\u00f6tigst.<\/li>\n\n\n\n<li><strong>Lesbarkeit vor Pr\u00e4gnanz (Readability before conciseness)<\/strong><br>Andere sollen deinen Code verstehen k\u00f6nnen \u2013 m\u00f6glichst sofort!<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Es empfiehlt sich, erst einmal mit einfachen Punkten zu starten, beispielsweise das KISS-Prinzip anzuwenden und Methoden auf einzelne T\u00e4tigkeiten herunterzubrechen. <strong>Reduziere die Komplexit\u00e4t und pr\u00fcfe, ob der Code nicht einfacher darzustellen ist.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"schngibtsaucheinbeispiel\">Sch\u00f6n\u2026 gibt\u2019s auch ein Clean-Code-Beispiel?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wir schauen uns zwei Ausschnitte an mit letztendlich gleichem Effekt. Der zweite Ausschnitt zeigt den Clean-Code-Ansatz, der deutlich besser zu lesen ist \u2013 am anschaulichsten dargestellt in der Methode \u201eadd_mail\u201c.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Was \u00e4ndern wir im Legacy Code, abgesehen von den oben genannten Regeln, um zu Clean Code zu gelangen:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"ungarischenotation\">Ungarische Notation<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In den 90er Jahren erfand Charles Simonyi die ungarische Notation in der Variablen mit Pr\u00e4fixen versehen wurden, um ihre Herkunft und den Datentyp zu zeigen. Zudem wurden Variablen m\u00f6glichst kurzgehalten, um effizient f\u00fcr die Compiler zu sein. Deklarationen von Variablen wurden meist mit Kommentaren versehen, um auszudr\u00fccken was die Variable macht.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Da wir heutzutage Zugriff auf effizientere, schnellere und bessere Compiler haben k\u00f6nnen wir hierauf verzichten und die Variablen direkt danach benennen, was diese tun sollen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"namensgebunggrundregeln\">Namensgebung &#8211; Grundregeln<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Variablen:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Kleiner Geltungsbereich (Scope) -&gt; Kurzer Variablenname<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Gro\u00dfer Geltungsbereich -&gt; Langer Variablenname<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Klassen\/Methoden:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Kleiner Geltungsbereich -&gt; Langer Name &amp; Private<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Gro\u00dfer Geltungsbereich -&gt; Kurzer Name &amp; ggf. Public<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"ifanweisungen\">IF-Anweisungen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Die Schachtelungen von IF-Anweisungen sollten so klein wie m\u00f6glich gehalten werden, um die \u00dcbersicht zu waren. Sollten mehrere F\u00e4lle von \u201eIF \/ IFELSE \/ ELSE\u201c verwendet werden, sollte man auf die KISS Regel zur\u00fcckgreifen und ggf. mehrere Methoden daraus extrahieren.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"feldsymboleoderreferenzen\">Feldsymbole oder Referenzen?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Dieser Punkt wird aktuell noch diskutiert, die Guidelines schlagen eine Syntax \u00e0 la LOOP \u2026 REFERENCE INTO DATA(\u2026). vor. Wenn man jedoch Feldsymbole (\u00e0 la LOOP \u2026 ASSIGNING FIELD-SYMBOL(&lt;\u2026&gt;).) verwendet n\u00fctzt das der Laufzeit. Hier gibt es eine Verbesserung von bis zu 13%!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"schleifenvermeiden\">Schleifen vermeiden<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Loops &#8211; vor allem aber Loop in Loop &#8211; sollten so gut es geht vermieden werden, da diese extremen Laufzeiten zur Folge haben. Sollte nur ein Eintrag ben\u00f6tigt werden, kann direkt auf die Zeile selektiert werden.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"readtablevermeiden\">READ TABLE vermeiden<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Besser als eine Schleife, um eine einzelne Zeile zu erhalten, ist READ TABLE. Noch besser ist jedoch der direkte Zugriff auf die Zeile der Tabelle. Hier ein Beispiel:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>TRY. \n    DATA(row) = my_table&#91; key = input ].\nCATCH cx_sy_itab_line_not_found.\n    \" Do something \nENDTRY.<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"beispiellegacycode\">Beispiel Legacy Code<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Hier nun endlich etwas Code, aber Legacy Code ist nicht wirklich \u201eh\u00fcbsch\u201c, gut lesbar und nicht wartbar:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>DATA: gt_pernr_tab TYPE TABLE OF pernr_d,\n      gs_pernr     TYPE pernr_d,\n      gs_pa0001    TYPE pa0001,\n      gt_pa0001    TYPE TABLE OF pa0001,\n      gs_pa0002    TYPE pa0002,\n      gs_pa0105    TYPE pa0105.\n\n\nLOOP AT gt_pernr_tab INTO gs_pernr.\n\n  SELECT * FROM pa0001\n    APPENDING TABLE gt_pa0001\n    WHERE pernr EQ gs_pernr\n      AND begda LE sy-datum\n      AND endda GE sy-datum.\n\nENDLOOP.\n\nSORT gt_pa0001 BY pernr begda.\nDELETE ADJACENT DUPLICATES FROM gt_pa0001.\n\nLOOP AT gt_pa0001 INTO gs_pa0001.\n\n  SELECT SINGLE * FROM pa0002\n    INTO gs_pa0002\n    WHERE pernr EQ gs_pa0001-pernr\n      AND begda LE sy-datum\n      AND endda GE sy-datum.\n\n  IF sy-subrc EQ 0.\n\n    SELECT SINGLE * FROM pa0105\n      INTO gs_pa0105\n      WHERE pernr EQ gs_pa0001-pernr\n        AND subty EQ '0010'\n        AND begda LE sy-datum\n        AND endda GE sy-datum.\n\n    IF sy-subrc NE 0.\n      MOVE-CORRESPONDING gs_pa0001 TO gs_pa0105.\n      CONCATENATE gs_pa0002-vorna '.' gs_pa0002-nachn '@mail.test' INTO gs_pa0105-usrid_long.\n\n      INSERT pa0105 FROM gs_pa0105.\n    ENDIF.\n  ENDIF.\n\nENDLOOP.<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"beispielcleancode\">Beispiel Clean Code<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Dagegen kann man Clean Code sehr gut lesen, warten und verstehen. Am besten ist es, wenn man ihn wie Prosa lesen kann. F\u00fcr die Darstellung als Clean Code habe ich hier die Form einer Klasse mit Methoden gew\u00e4hlt:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CLASS change_mail DEFINITION FINAL CREATE PRIVATE.\n\n  PUBLIC SECTION.\n    METHODS: add_mails           IMPORTING i_personnel_numbers     TYPE pernr_tab.\n\n  PRIVATE SECTION.\n    METHODS:\n      add_mail                   IMPORTING i_personnel_number      TYPE pernr_d,\n      read_personal_data         IMPORTING i_personnel_number      TYPE pernr_d\n                                 RETURNING VALUE(r_personnel_data) TYPE pa0002,\n      does_mail_already_exist    IMPORTING i_personnel_number TYPE pernr_d\n                                 RETURNING VALUE(r_exists)    TYPE boolean,\n      write_new_mail_to_database IMPORTING i_personnel_data        TYPE pa0002.\nENDCLASS.\n\nCLASS change_mail IMPLEMENTATION.\n  METHOD add_mails.\n    LOOP AT i_personnel_numbers ASSIGNING FIELD-SYMBOL(&lt;personnel_number&gt;).\n      add_mail( &lt;personnel_number&gt; ).\n    ENDLOOP.\n  ENDMETHOD.\n\n  METHOD add_mail.\n    DATA(personnel_data) = read_personal_data( i_personnel_number ).\n\n    IF does_mail_already_exist( i_personnel_number ).\n      write_new_mail_to_database( personnel_data ).\n    ENDIF.\n  ENDMETHOD.\n\n  METHOD read_personal_data.\n    SELECT SINGLE * FROM pa0002\n      INTO r_personnel_data\n      WHERE pernr EQ i_personnel_number\n        AND begda LE sy-datum\n        AND endda GE sy-datum.\n  ENDMETHOD.\n\n  METHOD does_mail_already_exist.\n    CONSTANTS: mail_subtyp TYPE subty VALUE '0010'.\n    DATA: exists(1).\n\n    SELECT SINGLE 'X' FROM pa0105\n      INTO @exists\n      WHERE pernr EQ @i_personnel_number\n        AND subty EQ @mail_subtyp\n        AND begda LE @sy-datum\n        AND endda GE @sy-datum.\n\n    IF sy-subrc EQ 0 AND exists EQ 'X'.\n      r_exists = abap_true.\n    ELSE.\n      r_exists = abap_false.\n    ENDIF.\n  ENDMETHOD.\n\n  METHOD write_new_mail_to_database.\n    DATA(communication) = CORRESPONDING pa0105( i_personnel_data ).\n    communication-usrid_long =\n      |{ i_personnel_data-vorna }.{ i_personnel_data-nachn }@mail.test|.\n\n    INSERT pa0105 FROM communication.\n  ENDMETHOD.\nENDCLASS.<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"wasmachenwirmitlegacyprojekten\">Was machen wir mit Legacy Projekten?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die SAP empfiehlt in ihrem Styleguide f\u00fcr Legacy Projekte den folgenden Vier-Schritte-Plan:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Holen Sie das Team an Bord. Kommunizieren und erl\u00e4utern Sie den neuen Stil, und stellen Sie sicher, dass jedes Mitglied des Projektteams damit einverstanden ist. Sie m\u00fcssen nicht alle Richtlinien auf einmal festschreiben. Beginnen Sie einfach mit einem kleinen unstrittigen Teilbereich und entwickeln Sie sich von dort aus weiter.<\/li>\n\n\n\n<li>Befolgen Sie in Ihrer t\u00e4glichen Arbeitsroutine die\u202fPfadfinderregel\u202f\u201everlasse den Campingplatz sauberer als du ihn vorgefunden hast.\u201c In Bezug auf Clean Code:\u202fHinterlassen Sie den Code immer besser, als Sie ihn vorgefunden haben. \u00dcbertreiben Sie es nicht, indem Sie stundenlang \u201eden gesamten Campingplatz aufr\u00e4umen\u201c. Wenden Sie einfach ein paar Minuten zus\u00e4tzlich auf und beobachten Sie, wie sich die Verbesserungen im Zeitverlauf akkumulieren.<\/li>\n\n\n\n<li>Bauen Sie von Zeit zu Zeit\u202fsaubere Inseln\u202fauf: W\u00e4hlen Sie ein kleines Objekt oder eine kleine Komponente aus und versuchen Sie, dieses Objekt oder die Komponente in allen Aspekten \u201esauber\u201c zu machen. Diese Inseln demonstrieren den Nutzen von dem, was Sie tun, und bilden eine zuverl\u00e4ssig getestete Basis f\u00fcr das weitere Refactoring.<\/li>\n\n\n\n<li>Sprechen Sie dr\u00fcber. Ganz gleich, ob Sie\u202fFagan-Code-Inspektionen\u202falter Schule aufsetzen, oder Info-Sessions bzw. Forumsdiskussionen in Ihrem bevorzugten Chat Tool veranstalten: Sie m\u00fcssen \u00fcber Ihre Erfahrungen und das Gelernte sprechen, damit in Ihrem Team ein gemeinsames Verst\u00e4ndnis wachsen kann.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn wir also alten Code austauschen, sollten wir das Schritt f\u00fcr Schritt machen und uns kleine \u201eInseln\u201c suchen, um mit der Zeit, das gesamte Coding auf Clean Code umzustellen.<br>Wenn man also Bugfixing betreibt, sollte man diese Stelle direkt auf Clean Code umstellen, um doppelte Arbeit zu vermeiden. <strong>Nochmal als kurze Faustregel: Bugfixing nur in Clean Code.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"alsodannbrauchenwircleancode\">Also dann\u2026 brauchen wir Clean Code?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Kurze Antwort:<\/strong> JA!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>L\u00e4ngere Antwort:<\/strong> Definitiv! Denn wir machen unseren Code dadurch lesbarer \u2013 f\u00fcr uns und andere. Der Code wird wartbar und wiederverwendbar und vor allem stabiler! Eine Methode behandelt, im Idealfall nur noch eine Sache und beschreibt sich selbst. Somit sind zum Beispiel Kommentare hinf\u00e4llig oder bei einem Bugfix wird nicht versehentlich eine andere Stelle der Software besch\u00e4digt.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"cheatsheetgoldenrules\">Cheat Sheet &amp; Golden Rules<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Zum Abschluss hier noch die Cheat Sheets der SAP zum Clean Code, sowie die goldenen Regeln welche die SAP dazu ausgibt. Sie sind nicht zu 100% vollst\u00e4ndig, geben aber einen sehr guten \u00dcberblick \u00fcber die Thematik. So kann sich jedes Teammitglied schnell die wichtigsten Punkte aneignen. Am besten l\u00e4dt man sich das zwecks besserer Lesbarkeit direkt als Quellen herunter:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/SAP\/styleguides\/blob\/main\/clean-abap\/cheat-sheet\/CleanABAPCheatSheetV1.4.1.pdf\" target=\"_blank\" rel=\"noopener\"> Clean ABAP Cheat Sheet<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/SAP\/styleguides\/blob\/main\/clean-abap\/cheat-sheet\/CleanABAPTheGoldenRulesV1.1.0.pdf\" target=\"_blank\" rel=\"noopener\"> Clean ABAP the Golden Rules<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"dieeinfachsteadressefrgutencodesapgoldpartner\">Die einfachste Adresse f\u00fcr guten Code: SAP Gold Partner<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wie praktisch, dass wir einer sind. Unsere SAP-Division setzt sich aus hochmotivierten Expert:innen f\u00fcr Beratung und Entwicklung zusammen, die f\u00fcr unsere Kunden geilen Schei\u00df mit SAP SuccessFactors, HCM und 4HANA machen. Gemeinsam haben wir es geschafft, die <a href=\"\/blog\/mmmake-sap-gold-partner\/\" target=\"_blank\" rel=\"noopener\">SAP Gold Partnerschaft in nur knapp einem Jahr<\/a> zu erreichen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wir freuen uns auf eure Ideen, Fragen und Projektvorschl\u00e4ge. Schickt uns einfach eine Mail an <a href=\"mailto:hello@mmmake.com\"><\/a><a href=\"mailto:hello@mmmake.com\">hello@mmmake.com<\/a>.<\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n\n  <section class=\"accordion alignfull\" id=\"\">\n\n<div class=\"container-fluid\">\n\n  <h2 class='hl-3 accordion__title'>Fragen &#038; Antworten zum ABAP Clean Code<\/h2>\n\n    <div class=\"accordion__list\">\n              <div class=\"accordion__item accordion-item\">\n          <a href=\"#\" class=\"accordion-item__title-wrapper\">\n            <h5 class=\"hl-5 accordion-item__title\">Was ist der ABAP Clean Code?<\/h5>\n            <span class='accordion-item__trigger'><span><\/span><span><\/span><\/span>\n          <\/a>\n          <div class=\"accordion-item__text\">\n            <p>ABAP Clean Code<!--TgQPHd||[]--> beschreibt den Programmierstil sowie das Regelwerk f\u00fcr die SAP-Programmiersprache ABAP. Auf ihr basiert der Gro\u00dfteil aller SAP-Gesch\u00e4ftsanwendungen. In Kombination mit Clean Code geht es darum, Quellcode leicht lesbar, verst\u00e4ndlich, wartbar und testbar<!--TgQPHd||[]--> zu schreiben.<\/p>\n          <\/div>\n        <\/div>\n              <div class=\"accordion__item accordion-item\">\n          <a href=\"#\" class=\"accordion-item__title-wrapper\">\n            <h5 class=\"hl-5 accordion-item__title\">Wie lautet der Syntax in ABAP? <\/h5>\n            <span class='accordion-item__trigger'><span><\/span><span><\/span><\/span>\n          <\/a>\n          <div class=\"accordion-item__text\">\n            <p class=\"p1\">Der Syntax in ABAP lautet: Zu Beginn jeder Anweisung steht ein Schl\u00fcsselwort, es integriert Operanden sowie Zus\u00e4tze und schlie\u00dft mit einem Punkt ab.<\/p>\n          <\/div>\n        <\/div>\n          <\/div>\n<\/div>\n  <\/section>\n\n  <script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Was ist der ABAP Clean Code?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"ABAP Clean Code beschreibt den Programmierstil sowie das Regelwerk f\u00fcr die SAP-Programmiersprache ABAP. Auf ihr basiert der Gro\u00dfteil aller SAP-Gesch\u00e4ftsanwendungen. In Kombination mit Clean Code geht es darum, Quellcode leicht lesbar, verst\u00e4ndlich, wartbar und testbar zu schreiben.\\n\"}},{\"@type\":\"Question\",\"name\":\"Wie lautet der Syntax in ABAP? \",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Der Syntax in ABAP lautet: Zu Beginn jeder Anweisung steht ein Schl\u00fcsselwort, es integriert Operanden sowie Zus\u00e4tze und schlie\u00dft mit einem Punkt ab.\\n\"}}]}<\/script>","protected":false},"excerpt":{"rendered":"<p>Ein Beitrag von Alexander Vogel Im Jahr 2008 hat Robert C. Martin sein Buch \u00fcber Clean Code\u202f\u201eClean Code: Refactoring, Patterns,&#8230;<\/p>\n","protected":false},"author":5,"featured_media":92,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[26],"class_list":["post-94","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-allgemein","tag-sap"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ABAP Clean Code Guidelines - interessiert mich das wirklich - mmmake.com<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/mmmake.com\/de\/blog\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ABAP Clean Code Guidelines - interessiert mich das wirklich - mmmake.com\" \/>\n<meta property=\"og:description\" content=\"Ein Beitrag von Alexander Vogel Im Jahr 2008 hat Robert C. Martin sein Buch \u00fcber Clean Code\u202f\u201eClean Code: Refactoring, Patterns,...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/mmmake.com\/de\/blog\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\/\" \/>\n<meta property=\"og:site_name\" content=\"mmmake.com\" \/>\n<meta property=\"article:published_time\" content=\"2025-05-05T15:37:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-16T08:11:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/mmmake.com\/wp-content\/uploads\/2021\/08\/Clean-Code-Header.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1350\" \/>\n\t<meta property=\"og:image:height\" content=\"1012\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Huyen Tran\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Huyen Tran\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"7\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/mmmake.com\\\/de\\\/blog\\\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mmmake.com\\\/de\\\/blog\\\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\\\/\"},\"author\":{\"name\":\"Huyen Tran\",\"@id\":\"https:\\\/\\\/mmmake.com\\\/de\\\/#\\\/schema\\\/person\\\/060a2757b376de464bd5f1331c075803\"},\"headline\":\"ABAP Clean Code Guidelines &#8211; interessiert mich das wirklich\",\"datePublished\":\"2025-05-05T15:37:00+00:00\",\"dateModified\":\"2026-06-16T08:11:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mmmake.com\\\/de\\\/blog\\\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\\\/\"},\"wordCount\":1174,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/mmmake.com\\\/de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/mmmake.com\\\/de\\\/blog\\\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/mmmake.com\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/Clean-Code-Header.jpg\",\"keywords\":[\"SAP\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/mmmake.com\\\/de\\\/blog\\\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mmmake.com\\\/de\\\/blog\\\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\\\/\",\"url\":\"https:\\\/\\\/mmmake.com\\\/de\\\/blog\\\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\\\/\",\"name\":\"ABAP Clean Code Guidelines - interessiert mich das wirklich - mmmake.com\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mmmake.com\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/mmmake.com\\\/de\\\/blog\\\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/mmmake.com\\\/de\\\/blog\\\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/mmmake.com\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/Clean-Code-Header.jpg\",\"datePublished\":\"2025-05-05T15:37:00+00:00\",\"dateModified\":\"2026-06-16T08:11:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mmmake.com\\\/de\\\/blog\\\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/mmmake.com\\\/de\\\/blog\\\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/mmmake.com\\\/de\\\/blog\\\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\\\/#primaryimage\",\"url\":\"https:\\\/\\\/mmmake.com\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/Clean-Code-Header.jpg\",\"contentUrl\":\"https:\\\/\\\/mmmake.com\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/Clean-Code-Header.jpg\",\"width\":1350,\"height\":1012},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mmmake.com\\\/de\\\/blog\\\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mmmake.com\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ABAP Clean Code Guidelines &#8211; interessiert mich das wirklich\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mmmake.com\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/mmmake.com\\\/de\\\/\",\"name\":\"mmmake.com\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/mmmake.com\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/mmmake.com\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/mmmake.com\\\/de\\\/#organization\",\"name\":\"mmmake.com\",\"url\":\"https:\\\/\\\/mmmake.com\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/mmmake.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/mmmake.com\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/mmmake-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/mmmake.com\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/mmmake-logo.jpg\",\"width\":538,\"height\":290,\"caption\":\"mmmake.com\"},\"image\":{\"@id\":\"https:\\\/\\\/mmmake.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mmmake.com\\\/de\\\/#\\\/schema\\\/person\\\/060a2757b376de464bd5f1331c075803\",\"name\":\"Huyen Tran\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ABAP Clean Code Guidelines - interessiert mich das wirklich - mmmake.com","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/mmmake.com\/de\/blog\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\/","og_locale":"de_DE","og_type":"article","og_title":"ABAP Clean Code Guidelines - interessiert mich das wirklich - mmmake.com","og_description":"Ein Beitrag von Alexander Vogel Im Jahr 2008 hat Robert C. Martin sein Buch \u00fcber Clean Code\u202f\u201eClean Code: Refactoring, Patterns,...","og_url":"https:\/\/mmmake.com\/de\/blog\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\/","og_site_name":"mmmake.com","article_published_time":"2025-05-05T15:37:00+00:00","article_modified_time":"2026-06-16T08:11:41+00:00","og_image":[{"width":1350,"height":1012,"url":"https:\/\/mmmake.com\/wp-content\/uploads\/2021\/08\/Clean-Code-Header.jpg","type":"image\/jpeg"}],"author":"Huyen Tran","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Huyen Tran","Gesch\u00e4tzte Lesezeit":"7\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/mmmake.com\/de\/blog\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\/#article","isPartOf":{"@id":"https:\/\/mmmake.com\/de\/blog\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\/"},"author":{"name":"Huyen Tran","@id":"https:\/\/mmmake.com\/de\/#\/schema\/person\/060a2757b376de464bd5f1331c075803"},"headline":"ABAP Clean Code Guidelines &#8211; interessiert mich das wirklich","datePublished":"2025-05-05T15:37:00+00:00","dateModified":"2026-06-16T08:11:41+00:00","mainEntityOfPage":{"@id":"https:\/\/mmmake.com\/de\/blog\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\/"},"wordCount":1174,"commentCount":0,"publisher":{"@id":"https:\/\/mmmake.com\/de\/#organization"},"image":{"@id":"https:\/\/mmmake.com\/de\/blog\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\/#primaryimage"},"thumbnailUrl":"https:\/\/mmmake.com\/wp-content\/uploads\/2021\/08\/Clean-Code-Header.jpg","keywords":["SAP"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/mmmake.com\/de\/blog\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/mmmake.com\/de\/blog\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\/","url":"https:\/\/mmmake.com\/de\/blog\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\/","name":"ABAP Clean Code Guidelines - interessiert mich das wirklich - mmmake.com","isPartOf":{"@id":"https:\/\/mmmake.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/mmmake.com\/de\/blog\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\/#primaryimage"},"image":{"@id":"https:\/\/mmmake.com\/de\/blog\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\/#primaryimage"},"thumbnailUrl":"https:\/\/mmmake.com\/wp-content\/uploads\/2021\/08\/Clean-Code-Header.jpg","datePublished":"2025-05-05T15:37:00+00:00","dateModified":"2026-06-16T08:11:41+00:00","breadcrumb":{"@id":"https:\/\/mmmake.com\/de\/blog\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/mmmake.com\/de\/blog\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/mmmake.com\/de\/blog\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\/#primaryimage","url":"https:\/\/mmmake.com\/wp-content\/uploads\/2021\/08\/Clean-Code-Header.jpg","contentUrl":"https:\/\/mmmake.com\/wp-content\/uploads\/2021\/08\/Clean-Code-Header.jpg","width":1350,"height":1012},{"@type":"BreadcrumbList","@id":"https:\/\/mmmake.com\/de\/blog\/clean-code-guidelines-im-sapabap-umfeld-interessiert-mich-das-wirklich\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/mmmake.com\/de\/"},{"@type":"ListItem","position":2,"name":"ABAP Clean Code Guidelines &#8211; interessiert mich das wirklich"}]},{"@type":"WebSite","@id":"https:\/\/mmmake.com\/de\/#website","url":"https:\/\/mmmake.com\/de\/","name":"mmmake.com","description":"","publisher":{"@id":"https:\/\/mmmake.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/mmmake.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/mmmake.com\/de\/#organization","name":"mmmake.com","url":"https:\/\/mmmake.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/mmmake.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/mmmake.com\/wp-content\/uploads\/2023\/08\/mmmake-logo.jpg","contentUrl":"https:\/\/mmmake.com\/wp-content\/uploads\/2023\/08\/mmmake-logo.jpg","width":538,"height":290,"caption":"mmmake.com"},"image":{"@id":"https:\/\/mmmake.com\/de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/mmmake.com\/de\/#\/schema\/person\/060a2757b376de464bd5f1331c075803","name":"Huyen Tran"}]}},"_links":{"self":[{"href":"https:\/\/mmmake.com\/de\/wp-json\/wp\/v2\/posts\/94","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mmmake.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mmmake.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mmmake.com\/de\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/mmmake.com\/de\/wp-json\/wp\/v2\/comments?post=94"}],"version-history":[{"count":9,"href":"https:\/\/mmmake.com\/de\/wp-json\/wp\/v2\/posts\/94\/revisions"}],"predecessor-version":[{"id":24899,"href":"https:\/\/mmmake.com\/de\/wp-json\/wp\/v2\/posts\/94\/revisions\/24899"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mmmake.com\/de\/wp-json\/wp\/v2\/media\/92"}],"wp:attachment":[{"href":"https:\/\/mmmake.com\/de\/wp-json\/wp\/v2\/media?parent=94"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mmmake.com\/de\/wp-json\/wp\/v2\/categories?post=94"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mmmake.com\/de\/wp-json\/wp\/v2\/tags?post=94"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}