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
TypeScriptから始める VR生活
tamagokakeg
2
120
Introducing Kotlin Multiplatform in an existing mobile app - Workshop Edition | AndroidMakers Paris
prof18
0
180
Embedding it into Ruby code
soutaro
2
310
Timeline エディター拡張入門
yucchiy
0
450
酒飲んでたらテックリードになった話
spbaya0141
0
210
Namespace, What and Why
tagomoris
3
670
The grand strategy of Ruby Parser
yui_knk
5
280
Criando a Woovi em uma semana
daniloab
0
120
WinActorの勉強を継続する方法
tamai_63
0
130
哲学史とモデリング
tanakahisateru
2
420
[RubyKaigi 2024] Ruby Mixology 101: adding shots of PHP, Elixir, and more
palkan
0
120
CQRS meets modern Java
simas
PRO
2
470
Featured
See All Featured
Statistics for Hackers
jakevdp
790
220k
Making the Leap to Tech Lead
cromwellryan
125
8.6k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
Building an army of robots
kneath
300
41k
The Art of Programming - Codeland 2020
erikaheidi
43
12k
Agile that works and the tools we love
rasmusluckow
325
20k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Building a Modern Day E-commerce SEO Strategy
aleyda
22
6.5k
Designing Experiences People Love
moore
136
23k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
126
32k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
Docker and Python
trallard
35
2.7k
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: