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
2.8k
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
初心者のためのRubyKaigi入門/RubyKaigi Introduction
a_matsuda
10
1.5k
CREってこういうこと? 体験入社 - 提案資料 - / what-is-cre-trial-employment
shinden
1
530
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
180
Amazon SQSコンシューマー疎結合への旅 - 出張! #DevelopersIO IT技術ブログの中の人が語る勉強会 #3
quiver
0
330
Node.js v22 で変わること
yosuke_furukawa
PRO
12
4k
障害対応を起点としたもっといい開発と運用のサイクル作りのためにできること / Hatena Enginner Seminar #29
polamjag
0
390
GitHub Copilotのススメ
marcy731
1
230
Micro Frontends for Java Microservices - Utah JUG 2024
mraible
PRO
1
110
新宿ダンジョンを可視化してみた
satoshi7190
3
400
if constexpr文はテンプレート世界のラムダ式である
faithandbrave
3
680
大規模UIKitベースアプリへのTCAの段階的導入/gradual-adoption-of-tca-in-a-large-scale-uikit-based-app
takehilo
2
210
Kotlin Multiplatform at Stable and Beyond (Android Makers 2024)
zsmb
0
500
Featured
See All Featured
A Tale of Four Properties
chriscoyier
152
22k
Docker and Python
trallard
35
2.7k
A Philosophy of Restraint
colly
197
16k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
323
20k
Building Flexible Design Systems
yeseniaperezcruz
320
37k
Imperfection Machines: The Place of Print at Facebook
scottboms
261
12k
Faster Mobile Websites
deanohume
300
30k
Building Effective Engineering Teams - LeadDev
addyosmani
32
1.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
275
13k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
34
6k
Unsuck your backbone
ammeep
663
57k
Happy Clients
brianwarren
92
6.4k
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: