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
PostgreSQLで手軽にDuckDBを使う!DuckDB&pg_duckdb入門/osc25hi-duckdb
takahashiikki
0
190
AIコーディングエージェント(Gemini)
kondai24
0
280
マスタデータ問題、マイクロサービスでどう解くか
kts
0
140
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
420
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
470
SwiftUIで本格音ゲー実装してみた
hypebeans
0
510
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
130
Python札幌 LT資料
t3tra
7
1.1k
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
1.8k
認証・認可の基本を学ぼう後編
kouyuume
0
250
生成AI時代を勝ち抜くエンジニア組織マネジメント
coconala_engineer
0
27k
Grafana:建立系統全知視角的捷徑
blueswen
0
240
Featured
See All Featured
Game over? The fight for quality and originality in the time of robots
wayneb77
1
67
It's Worth the Effort
3n
187
29k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
100
Designing Experiences People Love
moore
143
24k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
Agile that works and the tools we love
rasmusluckow
331
21k
Leo the Paperboy
mayatellez
0
1.3k
Unsuck your backbone
ammeep
671
58k
Believing is Seeing
oripsolob
0
16
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Evolving SEO for Evolving Search Engines
ryanjones
0
77
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: