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
0
210
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
77
Kotlin Server Side development
cnevinc
0
400
JCCONF 2017 - Tips for Kotlin Developers
cnevinc
0
150
Kotlin Idioms in Android
cnevinc
0
190
Firefox for Android - My Open Source Journey
cnevinc
0
160
MOPCON 2016
cnevinc
1
440
JCCONF 2016 - Redux on Android using Kotlin
cnevinc
2
850
Kotlin Development
cnevinc
1
130
菜鳥的Kotlin on Android之路
cnevinc
7
930
Other Decks in Programming
See All in Programming
Rails Girls Tokyo 18th GMO Pepabo Sponsor Talk
yutokyokutyo
0
190
朝日新聞のデジタル版を支えるGoバックエンド ー価値ある情報をいち早く確実にお届けするために
junkiishida
1
350
DevinとClaude Code、SREの現場で使い倒してみた件
karia
1
890
Geminiの機能を調べ尽くしてみた
naruyoshimi
0
190
CSC307 Lecture 14
javiergs
PRO
0
450
Claude Code、ちょっとした工夫で開発体験が変わる
tigertora7571
0
190
「ブロックテーマでは再現できない」は本当か?
inc2734
0
1.1k
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜
kuro_kurorrr
3
1.6k
Raku Raku Notion 20260128
hareyakayuruyaka
0
430
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
450
米国のサイバーセキュリティタイムラインと見る Goの暗号パッケージの進化
tomtwinkle
2
410
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
110
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
200
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
970
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.4k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
870
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
63
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
380
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
200
Skip the Path - Find Your Career Trail
mkilby
1
72
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