Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Primer on the 4 Rules of Simple Design
Search
Marty Haught
September 15, 2016
Technology
0
49
Primer on the 4 Rules of Simple Design
A short introduction to the 4 Rules of Simple Design given at Boulder Ruby in 2015 and 2016.
Marty Haught
September 15, 2016
Tweet
Share
More Decks by Marty Haught
See All by Marty Haught
Baltic_Ruby_Keynote_2025.pdf
mghaught
0
70
State of RubyGems 2024
mghaught
0
220
Interviewing Developers - Boulder Ruby May 2018
mghaught
1
130
The Prototyping Mindset - Devoxx.us 2017
mghaught
0
180
Make Better Decisions
mghaught
0
180
Make Better Decisions
mghaught
0
43
Ruby Community: Awesome; Could be Awesomer
mghaught
2
290
Ruby Community: Awesome; Could be Awesomer
mghaught
4
180
Other Decks in Technology
See All in Technology
Snowflakeでデータ基盤を もう一度作り直すなら / rebuilding-data-platform-with-snowflake
pei0804
6
1.6k
寫了幾年 Code,然後呢?軟體工程師必須重新認識的 DevOps
cheng_wei_chen
1
1.5k
AWS re:Invent 2025で見たGrafana最新機能の紹介
hamadakoji
0
430
AWS Security Agentの紹介/introducing-aws-security-agent
tomoki10
0
320
ChatGPTで論⽂は読めるのか
spatial_ai_network
11
29k
IAMユーザーゼロの運用は果たして可能なのか
yama3133
2
490
AIの長期記憶と短期記憶の違いについてAgentCoreを例に深掘ってみた
yakumo
4
450
文字列の並び順 / Unicode Collation
tmtms
3
610
regrowth_tokyo_2025_securityagent
hiashisan
0
260
1人1サービス開発しているチームでのClaudeCodeの使い方
noayaoshiro
2
430
ウェルネス SaaS × AI、1,000万ユーザーを支える 業界特化 AI プロダクト開発への道のり
hacomono
PRO
0
150
ExpoのインダストリーブースでみたAWSが見せる製造業の未来
hamadakoji
0
150
Featured
See All Featured
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
120
How Software Deployment tools have changed in the past 20 years
geshan
0
29k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
30 Presentation Tips
portentint
PRO
1
160
More Than Pixels: Becoming A User Experience Designer
marktimemedia
2
250
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
16
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Skip the Path - Find Your Career Trail
mkilby
0
22
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
310
Utilizing Notion as your number one productivity tool
mfonobong
2
180
Amusing Abliteration
ianozsvald
0
61
Transcript
Primer on the 4 Rules of Simple Design Marty Haught
@mghaught
Origin • Introduced by Kent Beck pre 2000 • via
Extreme Programming (XP) • Associated with “Do the simplest thing that could possibly work.”
Corey Haines http://bit.ly/4rules-boulderruby $11.99 • via Code retreats • Conway’s
Game of Life
The Rules 1. Tests pass 2. Expresses intent 3. No
duplication 4. Small
1. Tests Pass • Need to verify that your code/system
works • Automated tests are the fastest way to verify
2. Expresses Intent • Intention revealing • You can quickly
look at it and know what it does • Not bad naming, unclear or inaccurate • Does the method/variable match the language you use to describe it?
3. No Duplication • DRY - Don’t Repeat Yourself •
Commonly thought of as repetition in code structure (lines of code) • Also knowledge duplication • "Every piece of knowledge should have one and only one representation."
4. Small • No extraneous parts to the code •
Does everything there have a purpose? • Is it still being used? • Did I extract too far?
Resources • Corey’s Book: http://bit.ly/4rules-boulderruby • XP wiki: http://c2.com/cgi/wiki?XpSimplicityRules •
JB Rainsberger: http://www.jbrains.ca/permalink/ the-four-elements-of-simple-design