39
10 Tipps um Clean Code in der SAP-Zeit erfolgreich anzuwenden Damir Majer Agile ABAP Developer www.majcon.de @majcon Clean Code Days 2014 Unit-Tests mit ABAP® Unit dpunkt.verlag Besseres ABAP Schnell, sicher, robust SAP Press

10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Embed Size (px)

DESCRIPTION

Dies ist ein Erfahrungsbericht, wie Clean Code im SAP-Umfeld angewendet werden kann. Es zeigt den Wunsch die Vorteile von Clean Code wie Stabilere Programme, bessere Lesbarkeit, bessere Wartbarkeit von existierender und neu zu entwickelnder Software im SAP-Umfeld pragmatisch und praktikabel umzusetzen. Der Vortrag zeigt 10 Tipps, die von der Einführung bis zur Umsetzung und Vermarktung von Clean Code gehen.

Citation preview

Page 1: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

10 Tipps um Clean Code in der SAP-Zeit erfolgreich anzuwenden

Damir Majer Agile ABAP Developer www.majcon.de @majcon

Clean Code Days 2014

Unit-Tests mit ABAP® Unit dpunkt.verlag

Besseres ABAP Schnell, sicher, robust SAP Press

Page 2: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

[aˈɡiːl]agil

Bedeutung von großer Beweglichkeit zeugend; regsam und wendig

Herkunft lateinisch agilis von agere, „tun, machen, handeln“

adjektiv

> „Being Agile means adapting successfully to new circumstances“

Tom Gilb

Page 3: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Software ist komplex

Page 4: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Was ist unser status quo?

Lerne aus Fehlern

Lerne aus ErfolgenClean Code

Page 5: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

5Kenne dein Spielfeld

Page 6: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Wofür steht SAP?

> Fünf ehemalige IBM-Mitarbeiter, darunter Dietmar Hopp und Hasso Plattner, gründeten 1972 die Firma SystemAnalyse und Programmentwicklung GbR

> Größter europäischer und weltweit viertgrößter Softwarehersteller

> ca. 65.000 Mitarbeiter

> Tätigkeitsschwerpunkt ist die Entwicklung von Software im Betriebswirtschaftlichem Umfeld

> Derzeit ca. 750 Betriebswirtschaftliche Module, wie z.B. Finanzwesen, Controlling, Personalwirtschaft, Logistik usw..

Page 7: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Spaceshuttle

Windows 95

Windows XP

SAP R/3

SAP NW

0 Mio 60 Mio 120 Mio

120 Mio

80 Mio

45 Mio

10 Mio

3 Mio

Lines of Code

SAP im Vergleich zu anderer Software

Page 8: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Programmiersprache ABAP> Advanced Business Application Programming> Prozedurales- und Objektorientiertes Programmierparadigma> Hauseigene Programmiersprache der SAP AG> Abwärtskompatibel

Page 9: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Besonderheiten von ABAP

smalltalk

Java

C++

ABAP

0 400 800 1200 1600

1600

70

60

6

Sprachelemente

Page 10: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Standard- und Individualsoftware

Was heißt das?

SAP-FI Custom Code

SAP-Co

Custom Code

SAP-HR

Custom Code

SAP-System

Page 11: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Becoming an ABAP DeveloperClean Code

Page 12: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Methoden Kommunikation

Attitude

Be pragmatic

ABAP Skills

1. Step

Page 13: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Kenne die Methoden

VorgehensmodellePraktiken

Prinzipien

Page 14: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Vorgehensmodelle

XP

Scrum

Kanban

Scrumban

V-Modell

Page 15: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Praktiken

Continuous Delivery

Continuous Testing

Test-Driven-Development

Refactoring

Continuous Integration

DSLDomain-Driven-Design

Coding Katas

Page 16: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Methoden Kommunikation

Attitude

Be pragmatic

ABAP Skills

2. Step

Page 17: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Attitude / Einstellung

Page 18: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Permanentes Lernen

Page 19: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Wenn du ein Problem hast, versuche es zu lösen. Kannst du es nicht lösen, dann mache kein Problem daraus.

Gautama Buddha

Page 20: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

KommunikationMethoden

Attitude

Be pragmatic

ABAP Skills

3. Step

Page 21: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

> Face-to-Face > Austausch mit Anderen > Anforderungen besprechen

Kommunikation

Page 22: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

ABAP Skills

Methoden Kommunikation

Attitude

Be Pragmatic

4. Step

Page 23: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Copyright Majer Consulting

ABAP Skills

Page 24: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

ABAP Skills

ABAP Objects

ABAP Unit

Unit-Testing

SAP Hana

Design Pattern

Testautomatisierung

New Technologies

eCATT

SAP TAO

ATC

Page 25: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Code smells

Page 26: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Copyright Majer Consulting

clean-code-developer Kreislauf

http://michael.hoennig.de/2009/08/08/clean-code-developer-ccd/

Page 27: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Be pragmaticMethoden Kommunikation

Attitude

ABAP Skills

5. Step

Page 28: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Be pragmatic

starte einfach, statt kompliziert

Leg einfach los!

Fokus

Erreiche das Ziel

Page 29: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

„Nimm an, was nützlich ist. Lass weg, was unnütz ist.Und füge das hinzu, was dein Eigen ist.“ - Bruce Lee

Page 30: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Methoden Kommunikation

Attitude

Be pragmatic

ABAP Skills

und nun?

ABAP

Page 31: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Welches Spielfeld bringt Sie weiter?

Page 32: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden
Page 33: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Pair Programming zum Know-how Aufbau

Page 34: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden
Page 35: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden
Page 36: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Eigene Metriken erstellen

Fortschritt dokumentieren

PR & Marketing planen…

Tue Gutes und rede darüber!

Page 37: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Clean Code in SAP

Page 38: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

… auch Clean Code in SAP

Page 39: 10 Tipps um Clean-Code in der SAP-Zeit erfolgreich anzuwenden

Damir Majer Agile ABAP Developer mail [email protected] www.majcon.de @majcon

ajer Consulting