Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Refactoring and stuff
Search
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
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
320
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
270
iOSDC2026登壇資料.pdf
riofujimon
0
200
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
250
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
19
19k
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
730
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
9.2k
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2.5k
wkhtmltopdfの次どうするか問題2026
willnet
2
1.8k
JRuby: Past, Present, and Future
headius
0
210
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
130
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
270
Featured
See All Featured
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
930
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
290
Deep Space Network (abreviated)
tonyrice
0
350
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
780
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Visualization
eitanlees
153
17k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
530
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Music & Morning Musume
bryan
48
7.4k
Amusing Abliteration
ianozsvald
1
320
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: