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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Samuel Goodwin
March 09, 2012
Programming
3.1k
1
Share
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
AIベース静的検査器の偽陽性率を抑える工夫3選
orgachem
PRO
4
450
WebAssembly を読み込むベストプラクティス 2026年春版 / Best Practices for Loading WebAssembly (Spring 2026)
petamoriken
5
1.1k
20260514_its_the_context_window_stupid.pdf
heita
0
600
Claude CodeでETLジョブ実行テストを自動化してみた
yoshikikasama
0
1.2k
Lightning-Fast Method Calls with Ruby 4.1 ZJIT / RubyKaigi 2026
k0kubun
3
2.6k
AI-DLC Deep Dive
yuukiyo
9
5.6k
ふにゃっとしない名前の付け方 〜哲学で茹で上げる、コシのあるソフトウェア設計〜
shimomura
0
110
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
360
when storing skills in S3 file
watany
3
1.3k
セグメントとターゲットを意識するプロポーザルの書き方 〜採択の鍵は、誰に刺すかを見極めるマーケティング戦略にある〜
m3m0r7
PRO
0
760
サークル参加から学ぶ、小さな事業の回し方
yuzneri
0
130
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
3
1k
Featured
See All Featured
SEO for Brand Visibility & Recognition
aleyda
0
4.5k
Believing is Seeing
oripsolob
1
120
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
800
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
780
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
280
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
190
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
180
[SF Ruby Conf 2025] Rails X
palkan
2
1k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.3k
YesSQL, Process and Tooling at Scale
rocio
174
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: