Slide 1

Slide 1 text

Refactoring Eko Kurniawan Khannedy

Slide 2

Slide 2 text

Tentang Pemateri ● Eko Kurniawan Khannedy ● Senior Principal RnD Engineer di Blibli.com ● 10 Tahun Pengalaman Kerja dan Tetap Coding

Slide 3

Slide 3 text

Materi yang akan dibahas ● Apa itu Refactoring? ● Code Refactoring ● Java Project Refactoring ● Software Architecture Refactoring

Slide 4

Slide 4 text

Apa itu Refactoring?

Slide 5

Slide 5 text

Clean Code vs Refactoring?

Slide 6

Slide 6 text

Clean Code vs Refactoring vs Rewrite?

Slide 7

Slide 7 text

Clean Code vs Refactoring vs Rewrite vs Revamp?

Slide 8

Slide 8 text

Code Refactoring Eko Kurniawan Khannedy

Slide 9

Slide 9 text

Udah baca buku Refactoring? Karya Om Martin

Slide 10

Slide 10 text

https://refactoring.guru

Slide 11

Slide 11 text

Kenapa butuh Refactoring?

Slide 12

Slide 12 text

Broken Window Theory - Pragmatic Programmer

Slide 13

Slide 13 text

Cara Mengotomatisasi Refactoring?

Slide 14

Slide 14 text

Static Code Analysis

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

Java Project Refactoring Eko Kurniawan Khannedy

Slide 18

Slide 18 text

Struktur Project versi Males ● /pom.xml ● /src/main/... ● /src/test/...

Slide 19

Slide 19 text

Struktur Project versi Mainstream ● /pom.xml ● /module-entity/… ● /module-repository/… ● /module-service/… ● /module-controller/…

Slide 20

Slide 20 text

Struktur Project versi Agak Mainstream ● /pom.xml ● /module-entity/… ● /module-repository/… ● /module-service/… ● /module-service-impl/… ● /module-outbond/… ● /module-outbond-impl/… ● /module-controller/… ● /module-web-model/... ● /module-sdk-client/…

Slide 21

Slide 21 text

Struktur Project versi Anti Mainstream

Slide 22

Slide 22 text

Software Architecture Refactoring Eko Kurniawan Khannedy

Slide 23

Slide 23 text

Monolith vs Microservices?

Slide 24

Slide 24 text

Mono Repo vs Multiple Repo?

Slide 25

Slide 25 text

API Driven vs Message Driven?

Slide 26

Slide 26 text

Blocking vs Reactive?

Slide 27

Slide 27 text

Mengerti kan maksudnya?

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

Dimulai dengan Monolith, Blocking, dan Mono Repo

Slide 30

Slide 30 text

Tahapan Architecture Refactoring MONOLITH CQRS MICROSERVICE API DRIVEN MESSAGE DRIVEN https://martinfowler.com/bliki/CQRS.html

Slide 31

Slide 31 text

Bagaimana jika mendapat Legacy Project?

Slide 32

Slide 32 text

Integrasi dengan Legacy Project LEGACY APP LEGACY DATABASE https://martinfowler.com/bliki/StranglerFigApplication.html STRANGLER APP

Slide 33

Slide 33 text

Sekian dan Terima Kasih