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
How to be a better Android Developer
Search
Nevin
April 23, 2016
Programming
0
200
How to be a better Android Developer
Android Taipei , April 2016
Nevin
April 23, 2016
Tweet
Share
More Decks by Nevin
See All by Nevin
Google DevFest Kaohsiung 2019
cnevinc
0
76
Kotlin Server Side development
cnevinc
0
390
JCCONF 2017 - Tips for Kotlin Developers
cnevinc
0
140
Kotlin Idioms in Android
cnevinc
0
180
Firefox for Android - My Open Source Journey
cnevinc
0
150
MOPCON 2016
cnevinc
1
420
JCCONF 2016 - Redux on Android using Kotlin
cnevinc
2
820
Kotlin Development
cnevinc
1
110
菜鳥的Kotlin on Android之路
cnevinc
7
910
Other Decks in Programming
See All in Programming
Phronetic Team with AI - Agile Japan 2025 closing
hiranabe
2
620
モデル駆動設計をやってみよう Modeling Forum2025ワークショップ/Let’s Try Model-Driven Design
haru860
0
160
Register is more than clipboard
satorunooshie
1
480
なぜ強調表示できず ** が表示されるのか — Perlで始まったMarkdownの歴史と日本語文書における課題
kwahiro
12
6.1k
ノーコードからの脱出 -地獄のデスロード- / Escape from Base44
keisuke69
0
710
Core MIDI を勉強して作曲用の電子ピアノ作ってみた!
hypebeans
0
110
歴史から学ぶ「Why PHP?」 PHPを書く理由を改めて理解する / Learning from History: “Why PHP?” Rediscovering the Reasons for Writing PHP
seike460
PRO
0
160
What’s Fair is FAIR: A Decentralised Future for WordPress Distribution
rmccue
0
180
Dive into Triton Internals
appleparan
0
490
詳細の決定を遅らせつつ実装を早くする
shimabox
1
1.2k
Web エンジニアが JavaScript で AI Agent を作る / JSConf JP 2025 sponsor session
izumin5210
4
1.8k
Bakuraku E2E Scenario Test System Architecture #bakuraku_qa_study
teyamagu
PRO
0
760
Featured
See All Featured
Code Review Best Practice
trishagee
72
19k
Become a Pro
speakerdeck
PRO
29
5.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Practical Orchestrator
shlominoach
190
11k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Fireside Chat
paigeccino
41
3.7k
Docker and Python
trallard
46
3.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
How to Ace a Technical Interview
jacobian
280
24k
Transcript
Agenda • How to be a better Android developer •
Working Remotely
How to be a better Android developer
Topics • Work with legacy code - Refactor • Write
new code - Architecture • Re-inventing Wheels - Open Source Library • Learn and grow - Nevin’s Choice
Not rewrite Refactor
Refactor • For - Performance, Maintenance , Flexibility • When
- Fix bug, add feature, code review • How - Write Test First • Books : working effetely with legacy code & Refactor
Refactor • Long Method • Highly Coupled
Bad smell • Long Method • if condition • switch
statement • too many comment • for loop
Testing • Unit Test • Instrumentation / Integration Test
Espresso • https://caster.io/episodes/episode-1-android- testing-getting-started-with-espresso-2-0/ • Test Runner • Rule •
TDD
Adding a indirect layer Architecture
Architecture • Why extra layer? • Find bugs easily •
Fix bug easily • Add feature easily • Reduce bug / regression
Architecture • To enable sharing of logic • To explain
intention and implementation separately • To isolate change
Architecture • No architecture • MVP • Clean Architecture •
Redux
Package Structure • Package by component • Activity / Fragment
• Network • Utils.. • Package by feature • Add note • List note • View note detail
MVP • Model View Presenter • Model • View •
Presenter
MVP • Class Diagram • Sequence Diagram • Case Study
- Code Review Live
Clean Architecture
Redux / Flux
Architecture • MVP • Clean Architecture • Redux / Flux
Joy to the world Open Source Library
Re-Inventing Wheel • Design support / AppCompat library • Butterknife
• Dagger • Retrofit • Picasso • rxJava (rxRelay,rxAndroid) • Retrolambda • Realm
Re-Inventing Wheel • Install Code Snippet • Usage
In your commute, when you do the dishes Nevin’s Choice
Learn & Grow • Android Weekly • Fragmented Podcast •
Testing • Refactoring • Paid Training • Classic books
Sample Repo • u2020 • android-testing • ioschec
Classic Books • Refactoring • Effective Java • The Mythical
Man Month • Apprenticeship Patterns • Joel On Software / More … • Rework
Bonus: Things I wish I knew • Learn a different
language / paradigm • Read Android Source Code instead of SO • Join Conferences and Meetups • Conduct Public Speaking ( Conference oriented learning)
犢অమ蚤य़疑藯扖 犢మᥝ藯 ̿౯অమ褛౯ᇁᇁૡ֢̀ 薥ৼ珿絑ह 籧蝨Top Developer 磧మᥝ蝱݄ጱૡ֢肬䁰
Working Remotely and make your family happy http://fragmentedpodcast.com/episodes/036/
Benefit - for employee • Remote developers love their job
(Stackoverflow developer survey 2016 ) • Commute - Free • More control in life
Benefit - for employer • Bigger talent pool • You
help the world • 37 Signal
Tips • Communicate 4 times harder • Networking • Growth
• Source : remoteok.io , angelist.co
How? • Its all mental.
Nevin Chen http://nevinchen.com