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
Refactoring and stuff
Search
Samuel Goodwin
March 09, 2012
Programming
1
3k
Refactoring and stuff
My first talk as presented to the NYC Cocoaheads group.
Samuel Goodwin
March 09, 2012
Tweet
Share
Other Decks in Programming
See All in Programming
研究開発と実装OSSと プロダクトの好循環 / A virtuous cycle of research and development implementation OSS and products
linyows
1
180
Compose Navigation実装の見通しを良くする
hiroaki404
0
120
RailsでCQRS/ESをやってみたきづき
suzukimar
2
1.4k
Go1.24 go vetとtestsアナライザ
kuro_kurorrr
1
240
CIBMTR振り返り+敗北から学ぶコンペの取り組み方反省
takanao
1
490
AHC 044 混合整数計画ソルバー解法
kiri8128
0
260
読もう! Android build ドキュメント
andpad
1
190
Devin , 正しい付き合い方と使い方 / Living and Working with Devin
yukinagae
1
480
Goで作るChrome Extensions / Fukuoka.go #21
n3xem
2
2.5k
Go1.24で testing.B.Loopが爆誕
kuro_kurorrr
0
130
Effective Signals in Angular 19+ Rules and Helpers
manfredsteyer
PRO
0
170
AI時代のプログラミング教育 / programming education in ai era
kishida
22
19k
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
35
1.7k
BBQ
matthewcrist
88
9.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Designing for Performance
lara
605
69k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
12
1.4k
GraphQLとの向き合い方2022年版
quramy
45
14k
Code Reviewing Like a Champion
maltzj
521
39k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Building Applications with DynamoDB
mza
94
6.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
480
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Transcript
Samuel Goodwin @samuelgoodwin Refactoring and Stuff
What is refactoring? • Changing code without changing code behavior.
Why refactor? • Code is for humans • Nobody's perfect
• Requirements change
When to refactor? • When it smells • When code
becomes too rigid • Maybe not before deadlines • Sometimes not at all ( nuke and pave! )
How to refactor? • Step 0: Use version control!
Objc_dep ( github.com/nst/objc_dep )
Delete
MVC Ideally...
What to aim for? • Single responsibility principle • Open/closed
principle • Liskov Substitution principle • Interface segregation principle • Dependency inversion principle
• Coding Guidelines for Cocoa • Concepts in Objective-C Programming
• Cocoa Fundamentals Guide From the guys who brought you Cocoa: