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
180
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
53
Kotlin Server Side development
cnevinc
0
280
JCCONF 2017 - Tips for Kotlin Developers
cnevinc
0
120
Kotlin Idioms in Android
cnevinc
0
140
Firefox for Android - My Open Source Journey
cnevinc
0
130
MOPCON 2016
cnevinc
1
310
JCCONF 2016 - Redux on Android using Kotlin
cnevinc
2
780
Kotlin Development
cnevinc
1
84
菜鳥的Kotlin on Android之路
cnevinc
7
790
Other Decks in Programming
See All in Programming
オブジェクト指向コードレビューの新しいアプローチ
akkie76
3
1.5k
Migrating to Signals: A Practical Workshop
manfredsteyer
PRO
0
280
設計の知識と技能で駆動するソフトウェア開発
masuda220
PRO
18
11k
Open Source Swiftc Workshop
kitasuke
1
290
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
510
LLMチャットボットのアプリケーション設計Tips
os1ma
4
660
Laravel OpenAPIによる"辛くない"スキーマ駆動開発
kentaroutakeda
2
2.1k
チームでモデリングを育てるうえで 考えたこと・気づいたこと / Cultivating Modeling in Teams: Thoughts and Insights
mackey0225
5
2.4k
脱・初心者!脱・マネコン!AWS CDKを使ってみませんか!?
har1101
0
160
Understanding Ast By Looking
inouehi
0
120
【KMC春合宿2024】実装視点で見るNeural Radiance Fields
runningoutrate
0
150
15分間でふんわり理解するDocker @ Matsuriba MAX
ukwhatn
PRO
1
340
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
23
1.9k
Visualization
eitanlees
135
14k
WebSockets: Embracing the real-time Web
robhawkes
59
6.9k
How GitHub Uses GitHub to Build GitHub
holman
467
290k
The Cult of Friendly URLs
andyhume
73
5.6k
How to name files
jennybc
62
92k
10 Git Anti Patterns You Should be Aware of
lemiorhan
644
57k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
219
21k
Building an army of robots
kneath
300
41k
Documentation Writing (for coders)
carmenintech
59
3.8k
A Philosophy of Restraint
colly
195
15k
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