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
アンドパッドの Go 勉強会「 gopher 会」とその内容の紹介
andpad
0
270
Benchmark
sysong
0
270
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
1
130
「ElixirでIoT!!」のこれまでとこれから
takasehideki
0
370
XP, Testing and ninja testing
m_seki
3
210
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
1
580
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
200
PicoRuby on Rails
makicamel
2
110
A2A プロトコルを試してみる
azukiazusa1
2
1.2k
Azure AI Foundryではじめてのマルチエージェントワークフロー
seosoft
0
140
GoのGenericsによるslice操作との付き合い方
syumai
3
690
VS Code Update for GitHub Copilot
74th
1
470
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
69
11k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Documentation Writing (for coders)
carmenintech
72
4.9k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
670
Raft: Consensus for Rubyists
vanstee
140
7k
Building Adaptive Systems
keathley
43
2.6k
Site-Speed That Sticks
csswizardry
10
660
Gamification - CAS2011
davidbonilla
81
5.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.8k
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: