$30 off During Our Annual Pro Sale. View Details »
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
48
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
120
The Prototyping Mindset - Devoxx.us 2017
mghaught
0
180
Make Better Decisions
mghaught
0
180
Make Better Decisions
mghaught
0
42
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
メッセージ駆動が可能にする結合の最適化
j5ik2o
9
1.7k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.2k
インフラ室事例集
mixi_engineers
PRO
2
120
経営から紐解くデータマネジメント
pacocat
8
1.7k
Excelデータ分析で学ぶディメンショナルモデリング ~アジャイルデータモデリングへ向けて~ by @Kazaneya_PR / 20251126
kazaneya
PRO
3
700
type-challenges を全問解いたのでエッセンスと推し問題を紹介してみる
kworkdev
PRO
0
140
原理から解き明かす AIと人間の成長 - Progate BAR
teba_eleven
2
130
Master Dataグループ紹介資料
sansan33
PRO
1
4k
オープンデータの内製化から分かったGISデータを巡る行政の課題
naokim84
2
820
MAP-7thplaceSolution
yukichi0403
2
210
Data Hubグループ 紹介資料
sansan33
PRO
0
2.3k
TypeScript×CASLでつくるSaaSの認可 / Authz with CASL
saka2jp
2
160
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
432
66k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
690
Site-Speed That Sticks
csswizardry
13
970
Producing Creativity
orderedlist
PRO
348
40k
Speed Design
sergeychernyshev
33
1.3k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
Typedesign – Prime Four
hannesfritz
42
2.9k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
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