Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Refactoring and stuff
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Samuel Goodwin
March 09, 2012
Programming
3.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Refactoring and stuff
My first talk as presented to the NYC Cocoaheads group.
Samuel Goodwin
March 09, 2012
Transcript
10 slides
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:
Other Decks in Programming
See All in Programming
Apple Intelligenceとオンデバイス時代の到来
yahir0
0
240
地方こそサーバーレス — 10年続けた、顔が見えるチームで確かな基盤を / Serverless Matters Most in Regional Areas — 10 Years of Building Reliable Foundations with Close-Knit Teams
seike460
PRO
1
400
Snowflake Openflow Connector利用の勘所 / 20261024developersio2026tokyo-snowflake-openflow
kasacchiful
PRO
0
330
AI時代のシニアエンジニアとは
yosuke_furukawa
PRO
15
11k
Event is what happens
moro
2
4.5k
プロジェクトコードをキレイキレイしよう!暗黙的な参照を読み解く静的解析
ostk0069
0
210
Lambda durable functionsでHuman in the Loopを楽に…楽に……
har1101
2
300
SODA - FACT BOOK(JP)
sodainc
1
40k
React Native経験者が Flutterを30⽇間触って驚いたこと
3saito
0
170
Будущее локальных LLM – Алексей Голобурдин, PythoNN
sobolevn
0
120
React Native에 현대적인 빌드 도구 더하기: Rollipop 구현기
leegeunhyeok
0
180
Kawaiicon: Kubernetes, it's no longer cool, but let's secure it anyway!
barnbarn
0
130
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
Leo the Paperboy
mayatellez
11
2.5k
Thoughts on Productivity
jonyablonski
76
5.5k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
380
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
350
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.4k
30 Presentation Tips
portentint
PRO
1
470
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Code Reviewing Like a Champion
maltzj
529
40k
HDC tutorial
michielstock
2
1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.3k