Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
How to be a better Android Developer
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Nevin
April 23, 2016
Programming
230
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
100
Kotlin Server Side development
cnevinc
0
430
JCCONF 2017 - Tips for Kotlin Developers
cnevinc
0
180
Kotlin Idioms in Android
cnevinc
0
230
Firefox for Android - My Open Source Journey
cnevinc
0
180
MOPCON 2016
cnevinc
1
490
JCCONF 2016 - Redux on Android using Kotlin
cnevinc
2
880
Kotlin Development
cnevinc
1
150
菜鳥的Kotlin on Android之路
cnevinc
7
970
Other Decks in Programming
See All in Programming
気持ちぃ〜角丸 Squircle
ryu1013
0
320
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
110
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
180
Agents on Rails - Rails at Scale 2026
irinanazarova
0
570
Kotlinの15年とServer-Side Kotlin
n_takehata
1
160
パスワード再設定メールのURLについて知っておこう
uyuki234
0
170
Performance Optimization With LLMs
xleitix
0
160
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
Jetpack Compose Mechanisms
skydoves
3
830
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
270
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
220
最近”作らせてる” ローカルAIアプリの話
akit37
0
480
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
1k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
280
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
Code Reviewing Like a Champion
maltzj
529
40k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
520
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
630
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
Building a Scalable Design System with Sketch
lauravandoore
464
34k
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
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