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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Nevin
April 23, 2016
Programming
220
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How to be a better Android Developer
Android Taipei , April 2016
Nevin
April 23, 2016
More Decks by Nevin
See All by Nevin
Google DevFest Kaohsiung 2019
cnevinc
0
92
Kotlin Server Side development
cnevinc
0
410
JCCONF 2017 - Tips for Kotlin Developers
cnevinc
0
160
Kotlin Idioms in Android
cnevinc
0
210
Firefox for Android - My Open Source Journey
cnevinc
0
170
MOPCON 2016
cnevinc
1
460
JCCONF 2016 - Redux on Android using Kotlin
cnevinc
2
860
Kotlin Development
cnevinc
1
140
菜鳥的Kotlin on Android之路
cnevinc
7
950
Other Decks in Programming
See All in Programming
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2k
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
230
Oxlintのカスタムルールの現況
syumai
6
1.1k
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
880
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
20
6.5k
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
270
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
4.9k
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
330
Vite+ Unified Toolchain for the Web
naokihaba
0
270
スマートグラスで並列バイブコーディング
hyshu
0
120
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
12k
Featured
See All Featured
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
580
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
230
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
160
Amusing Abliteration
ianozsvald
1
200
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
200
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
My Coaching Mixtape
mlcsv
0
140
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
190
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
240
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
220
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
830
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