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
320
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
280
Reactive Puzzle
khannedy
0
200
Event-Driven Architecture
khannedy
1
1.9k
Resilience Engineering with Hystrix and Spring
khannedy
1
560
Mocking for Unit Test using Mockito
khannedy
1
340
Centralized Configuration using Consul and Spring Cloud
khannedy
2
680
Validation Best Practice
khannedy
2
1.3k
Other Decks in Technology
See All in Technology
Agentic DevOps時代の生存戦略
kkamegawa
0
1k
キャディでのApache Iceberg, Trino採用事例 -Apache Iceberg and Trino Usecase in CADDi--
caddi_eng
0
170
Clineを含めたAIエージェントを 大規模組織に導入し、投資対効果を考える / Introducing AI agents into your organization
i35_267
4
1.4k
Azure AI Foundryでマルチエージェントワークフロー
seosoft
0
150
Snowflake Summit 2025全体振り返り / Snowflake Summit 2025 Overall Review
mtpooh
2
210
Windows 11 で AWS Documentation MCP Server 接続実践/practical-aws-documentation-mcp-server-connection-on-windows-11
emiki
0
720
ObsidianをMCP連携させてみる
ttnyt8701
2
140
AI技術トレンド勉強会 #1MCPの基礎と実務での応用
nisei_k
1
240
AIのAIによるAIのための出力評価と改善
chocoyama
0
510
AIエージェント最前線! Amazon Bedrock、Amazon Q、そしてMCPを使いこなそう
minorun365
PRO
11
4.1k
GeminiとNotebookLMによる金融実務の業務革新
abenben
0
140
本当に使える?AutoUpgrade の新機能を実践検証してみた
oracle4engineer
PRO
1
120
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
39
1.9k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Writing Fast Ruby
sferik
628
61k
Embracing the Ebb and Flow
colly
86
4.7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Designing for humans not robots
tammielis
253
25k
Thoughts on Productivity
jonyablonski
69
4.7k
Automating Front-end Workflow
addyosmani
1370
200k
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