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
Reading Rails 1.0 Source Code
okuramasafumi
0
250
そのAPI、誰のため? Androidライブラリ設計における利用者目線の実践テクニック
mkeeda
2
2.8k
チームのテスト力を鍛える
goyoki
3
930
Zendeskのチケットを Amazon Bedrockで 解析した
ryokosuge
3
320
Namespace and Its Future
tagomoris
6
710
AWS発のAIエディタKiroを使ってみた
iriikeita
1
190
複雑なドメインに挑む.pdf
yukisakai1225
5
1.2k
機能追加とリーダー業務の類似性
rinchoku
2
1.3k
ファインディ株式会社におけるMCP活用とサービス開発
starfish719
0
2.1k
Azure SRE Agentで運用は楽になるのか?
kkamegawa
0
2.5k
基礎から学ぶ大画面対応(Learning Large-Screen Support from the Ground Up)
tomoya0x00
0
4.3k
もうちょっといいRubyプロファイラを作りたい (2025)
osyoyu
1
460
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
303
21k
KATA
mclloyd
32
14k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
850
GraphQLとの向き合い方2022年版
quramy
49
14k
A Tale of Four Properties
chriscoyier
160
23k
Building Adaptive Systems
keathley
43
2.7k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Rails Girls Zürich Keynote
gr2m
95
14k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Building Applications with DynamoDB
mza
96
6.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
Navigating Team Friction
lara
189
15k
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: