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
型安全RESTで爆速プロトタイピング – Hono RPC実践
tacke_jp
0
100
TypeScript を活かしてデザインシステム MCP を作る / #tskaigi_after_night
izumin5210
4
500
技術懸念に立ち向かい 法改正を穏便に乗り切った話
pop_cashew
0
1k
SODA - FACT BOOK
sodainc
1
120
Passkeys for Java Developers
ynojima
2
720
プロダクト改善のために新しいことを始める -useContextからの卒業、Zustandへ-
rebase_engineering
1
100
從零到一:搭建你的第一個 Observability 平台
blueswen
0
280
Cursor Meetup Tokyo ゲノミクスとCursor: 進化と制約のあいだ
koido
2
760
データベースコネクションプール(DBCP)の変遷と理解
fujikawa8
0
130
JVM の仕組みを理解して PHP で実装してみよう
m3m0r7
PRO
1
250
『Python → TypeScript』オンボーディング奮闘記
takumi_tatsuno
1
150
「兵法」から見る質とスピード
ickx
0
230
Featured
See All Featured
Designing for Performance
lara
608
69k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Code Reviewing Like a Champion
maltzj
524
40k
How to Ace a Technical Interview
jacobian
276
23k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Raft: Consensus for Rubyists
vanstee
137
7k
Art, The Web, and Tiny UX
lynnandtonic
298
21k
Navigating Team Friction
lara
186
15k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.4k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
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: