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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Samuel Goodwin
March 09, 2012
Programming
3.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Refactoring and stuff
My first talk as presented to the NYC Cocoaheads group.
Samuel Goodwin
March 09, 2012
Other Decks in Programming
See All in Programming
Claspは野良GASの夢をみるか
takter00
0
190
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
4
1.4k
dRuby over BLE
makicamel
2
340
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.3k
The NotImplementedError Problem in Ruby
koic
1
810
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
140
RTSPクライアントを自作してみた話
simotin13
0
610
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
280
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
170
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
140
技術記事、 専門家としてのプログラマ、 言語化
mizchi
13
6.1k
Creating Composable Callables in Contemporary C++
rollbear
0
140
Featured
See All Featured
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
430
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
1.7k
Typedesign – Prime Four
hannesfritz
42
3.1k
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
AI: The stuff that nobody shows you
jnunemaker
PRO
8
720
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Designing for Performance
lara
611
70k
Odyssey Design
rkendrick25
PRO
2
700
Side Projects
sachag
455
43k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
250
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: