Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Refactoring
Search
Eko Kurniawan Khannedy
June 26, 2019
Technology
0
310
Refactoring
Refactoring - JVM Meetup 19 at DOKU
Eko Kurniawan Khannedy
June 26, 2019
Tweet
Share
More Decks by Eko Kurniawan Khannedy
See All by Eko Kurniawan Khannedy
Monolith to Event-Driven Microservices
khannedy
1
240
Multi-Datacenter Kafka at Blibli.com
khannedy
2
1.5k
QA Tools - Research and Development
khannedy
0
270
Reactive Puzzle
khannedy
0
190
Event-Driven Architecture
khannedy
1
1.8k
Resilience Engineering with Hystrix and Spring
khannedy
1
550
Mocking for Unit Test using Mockito
khannedy
1
330
Centralized Configuration using Consul and Spring Cloud
khannedy
2
640
Validation Best Practice
khannedy
2
1.2k
Other Decks in Technology
See All in Technology
Visual StudioとかIDE関連小ネタ話
kosmosebi
1
380
AWS re:Invent 2024 recap in 20min / JAWSUG 千葉 2025.1.14
shimy
1
100
Unsafe.BitCast のすゝめ。
nenonaninu
0
200
2025年に挑戦したいこと
molmolken
0
160
Amazon Route 53, 待ちに待った TLSAレコードのサポート開始
kenichinakamura
0
170
embedパッケージを深掘りする / Deep Dive into embed Package in Go
task4233
1
220
EMConf JP の楽しみ方 / How to enjoy EMConf JP
pauli
2
150
AWSマルチアカウント統制環境のすゝめ / 20250115 Mitsutoshi Matsuo
shift_evolve
0
120
RubyでKubernetesプログラミング
sat
PRO
4
160
Amazon Q Developerで.NET Frameworkプロジェクトをモダナイズしてみた
kenichirokimura
1
200
ドメイン駆動設計の実践により事業の成長スピードと保守性を両立するショッピングクーポン
lycorptech_jp
PRO
13
2.2k
メールヘッダーを見てみよう
hinono
0
110
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
Typedesign – Prime Four
hannesfritz
40
2.5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.5k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
500
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Optimizing for Happiness
mojombo
376
70k
Designing for humans not robots
tammielis
250
25k
KATA
mclloyd
29
14k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.4k
The Cult of Friendly URLs
andyhume
78
6.1k
Transcript
Refactoring Eko Kurniawan Khannedy
Tentang Pemateri • Eko Kurniawan Khannedy • Senior Principal RnD
Engineer di Blibli.com • 10 Tahun Pengalaman Kerja dan Tetap Coding
Materi yang akan dibahas • Apa itu Refactoring? • Code
Refactoring • Java Project Refactoring • Software Architecture Refactoring
Apa itu Refactoring?
Clean Code vs Refactoring?
Clean Code vs Refactoring vs Rewrite?
Clean Code vs Refactoring vs Rewrite vs Revamp?
Code Refactoring Eko Kurniawan Khannedy
Udah baca buku Refactoring? Karya Om Martin
https://refactoring.guru
Kenapa butuh Refactoring?
Broken Window Theory - Pragmatic Programmer
Cara Mengotomatisasi Refactoring?
Static Code Analysis
None
None
Java Project Refactoring Eko Kurniawan Khannedy
Struktur Project versi Males • /pom.xml • /src/main/... • /src/test/...
Struktur Project versi Mainstream • /pom.xml • /module-entity/… • /module-repository/…
• /module-service/… • /module-controller/…
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/…
Struktur Project versi Anti Mainstream
Software Architecture Refactoring Eko Kurniawan Khannedy
Monolith vs Microservices?
Mono Repo vs Multiple Repo?
API Driven vs Message Driven?
Blocking vs Reactive?
Mengerti kan maksudnya?
None
Dimulai dengan Monolith, Blocking, dan Mono Repo
Tahapan Architecture Refactoring MONOLITH CQRS MICROSERVICE API DRIVEN MESSAGE DRIVEN
https://martinfowler.com/bliki/CQRS.html
Bagaimana jika mendapat Legacy Project?
Integrasi dengan Legacy Project LEGACY APP LEGACY DATABASE https://martinfowler.com/bliki/StranglerFigApplication.html STRANGLER
APP
Sekian dan Terima Kasih