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
250
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
560
Mocking for Unit Test using Mockito
khannedy
1
330
Centralized Configuration using Consul and Spring Cloud
khannedy
2
650
Validation Best Practice
khannedy
2
1.3k
Other Decks in Technology
See All in Technology
4th place solution Eedi - Mining Misconceptions in Mathematics
rist
0
140
Oracle Database Technology Night #87-1 : Exadata Database Service on Exascale Infrastructure(ExaDB-XS)サービス詳細
oracle4engineer
PRO
1
170
クラウド食堂とは?
hiyanger
0
110
ディスプレイ広告(Yahoo!広告・LINE広告)におけるバックエンド開発
lycorptech_jp
PRO
0
350
NFV基盤のOpenStack更新 ~9世代バージョンアップへの挑戦~
vtj
0
350
php-conference-nagoya-2025
fuwasegu
0
150
ウォンテッドリーのデータパイプラインを支える ETL のための analytics, rds-exporter / analytics, rds-exporter for ETL to support Wantedly's data pipeline
unblee
0
120
AWSを活用したIoTにおけるセキュリティ対策のご紹介
kwskyk
0
350
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
9
2.2k
30→150人のエンジニア組織拡大に伴うアジャイル文化を醸成する役割と取り組みの変化
nagata03
0
160
【Findy】「正しく」失敗できる チームの作り方 〜リアルな事例から紐解く失敗を恐れない組織とは〜 / A team that can fail correctly by findy
i35_267
5
870
ExaDB-XSで利用されているExadata Exascaleについて
oracle4engineer
PRO
3
240
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
94
13k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
Mobile First: as difficult as doing things right
swwweet
223
9.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Building Applications with DynamoDB
mza
93
6.2k
Code Reviewing Like a Champion
maltzj
521
39k
Statistics for Hackers
jakevdp
797
220k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Producing Creativity
orderedlist
PRO
344
40k
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