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
300
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
230
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
320
Centralized Configuration using Consul and Spring Cloud
khannedy
2
620
Validation Best Practice
khannedy
2
1.2k
Other Decks in Technology
See All in Technology
Road to Single Activity
yurihondo
2
240
たった1人からはじめる【Agile Community of Practice】~ソース原理とFearless Changeを添えて~
ktc_corporate_it
1
480
より快適なエラーログ監視を目指して
leveragestech
4
1.4k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
5
46k
ロリポップ! for Gamersを支えるインフラ/lolipop for gamers infrastructure
takumakume
0
130
社内の学びの場・コミュニティ形成とエンジニア同士のリレーションシップ構築/devreljapan2024
nishiuma
3
290
スタッフエンジニアの道: The Staff Engineer’s Path
snoozer05
PRO
44
14k
学術機関におけるID連携とOpenID Connect
fujie
0
250
開発生産性を始める前に開発チームができること / optim-improve-development-productivity.pdf
optim
0
110
言葉は感情の近似値である。その感情と言葉の誤差を最小化しよう ~コミュニケーションにおけるアナログ/デジタル変換の課題に立ち向かう~
nktamago
0
230
突撃! 隣のAmazon Bedrockユーザー 〜YouはどうしてAWSで?〜
minorun365
PRO
3
390
20240911_New_Relicダッシュボード活用例
speakerdeckfk
0
110
Featured
See All Featured
Designing for Performance
lara
604
68k
GraphQLとの向き合い方2022年版
quramy
43
13k
Producing Creativity
orderedlist
PRO
340
39k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Unsuck your backbone
ammeep
667
57k
The Invisible Customer
myddelton
119
13k
How To Stay Up To Date on Web Technology
chriscoyier
786
250k
The Illustrated Children's Guide to Kubernetes
chrisshort
47
48k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
32k
GitHub's CSS Performance
jonrohan
1030
450k
Design by the Numbers
sachag
277
19k
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