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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
850
The Rails Doctrine Decade
koic
2
400
AHC070解法紹介
eijirou
0
140
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
350
一人だけ、Kiroが静止する日
hideg
0
130
Java 27新機能 / Java 27 new features
kishida
2
180
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
310
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
18
18k
Agents on Rails - Rails at Scale 2026
irinanazarova
0
270
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
240
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
5.1k
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
The Curious Case for Waylosing
cassininazir
1
540
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
290
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
590
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
580
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
Into the Great Unknown - MozCon
thekraken
41
2.7k
Amusing Abliteration
ianozsvald
1
320
Become a Pro
speakerdeck
PRO
31
6.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
4 Signs Your Business is Dying
shpigford
187
23k
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: