Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Working With Other People's Code
Samuel E. Giddins
August 29, 2014
Programming
4
110
Working With Other People's Code
Samuel E. Giddins
August 29, 2014
Tweet
Share
More Decks by Samuel E. Giddins
See All by Samuel E. Giddins
Empowering iOS Developers
segiddins
1
52
Empowering iOS Developers
segiddins
0
320
Making CocoaPods Fast (with Modern Ruby Tooling)
segiddins
0
14
Making CocoaPods Fast
segiddins
0
230
Answering the Existential Question
segiddins
0
27
Scaling CocoaPods
segiddins
0
33
Building Swift Static Libraries
segiddins
0
260
Apple Radar: how it works & how to file one
segiddins
0
48
Exploring Clang Modules
segiddins
3
1.2k
Other Decks in Programming
See All in Programming
TechFeed Conference 2022 - Kotlin Experimental
jmatsu
0
850
Quartoを使ってみませんか / quarto_get_started
s_uryu
2
400
Micro Frontends with Module Federation: Beyond the Basics @jax2022
manfredsteyer
PRO
1
300
LOWYAの信頼性向上とNew Relic
kazumax55
4
370
Airflow1=>Airflow2へのupgrade 事例紹介
reizist
0
120
GraphQL+KMM開発でわかったこと / What we learned from GraphQL+KMM development
kubode
0
130
競プロへの誘 -いざな-
u76ner
0
380
Architectural practices for greater scalability and innovation
otaviojava
0
120
Loom is Blooming
josepaumard
3
570
Jakarta EE 10 is Coming Your Way
ivargrimstad
0
3.3k
もしも、 上司に鬼退治を命じられたら~プロジェクト計画編~
higuuu
0
300
脱オブジェクト指向講座(5分LT資料)
kishida
8
11k
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
63
7.5k
Bash Introduction
62gerente
596
210k
Designing Experiences People Love
moore
130
22k
Testing 201, or: Great Expectations
jmmastey
21
5.4k
WebSockets: Embracing the real-time Web
robhawkes
57
5k
Gamification - CAS2011
davidbonilla
75
3.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
19
1.4k
Web development in the modern age
philhawksworth
197
9.3k
How To Stay Up To Date on Web Technology
chriscoyier
780
250k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
38
12k
The Straight Up "How To Draw Better" Workshop
denniskardys
225
120k
Designing the Hi-DPI Web
ddemaree
272
32k
Transcript
Make It Yours Working With Other People's Code For The
First Time Samuel E. Giddins
My Story • First app: November 2012 — Clickr •
First job: March 2013 — Slader • First OSS contribution: May 2013 — RestKit • Now: Tumblr + CocoaPods
Day One • Ask questions • Technical • Business •
Explore • Fix something
It's not about the orientation or onboarding
The First Bugfix This will be the smallest and most
insignificant commit you will ever make to the project.
It will also lead the way to all the other
commits. Don't be scared. Don't be reverant. Show 'em who's boss.
The First Bugfix • Defined problem • Easily evaluated goal
• User-facing
Geometry Book Always goes to same page Pages with letters
can't be searched for
Made search case-insensitive if ([aPage.name isEqualToString:aPageNumber]) { if ([[aPage.name lowercaseString]
isEqualToString:[aPageNumber lowercaseString]]) {
Stopped assuming that the last page had the highest intVal
NSInteger maxIndex = [[pages[pages.count -1] name] intValue]; NSInteger maxIndex = NSIntegerMax;
The First Feature
• Easy to see • Little code • Big impact
To Refactor or Not To Refactor That is the wrong
question
• Project organization • Coding style • Pods
Make it perfect Make it work, then make it pretty
Be modular It's always good Lets you be you
Don't assume There's always a story
Be compassionate
Learn from the code (Especially if you think it's bad)
• Bugs • Improvements • Code niceties • Features
Figure out what's in your way
Get it out of your way* *Only if it's worth
it
The most important single aspect of software development is to
be clear about what you are trying to build. — Bjarne Stroustrup
We have to stop optimizing for programmers and start optimizing
for users. — Jeff Atwood
There are tools to help • AppCode • ClangFormat •
CocoaPods • lldb • Reveal • XCTest (seriously) • The Internet
Take ownership
By shipping, it becomes yours
Own Your App
Go Get 'Em
Samuel E. Giddins @segiddins segiddins.me github.com/segiddins