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
Primer on the 4 Rules of Simple Design
Search
Marty Haught
September 15, 2016
Technology
0
41
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
State of RubyGems 2024
mghaught
0
150
Interviewing Developers - Boulder Ruby May 2018
mghaught
1
110
The Prototyping Mindset - Devoxx.us 2017
mghaught
0
170
Make Better Decisions
mghaught
0
180
Make Better Decisions
mghaught
0
37
Ruby Community: Awesome; Could be Awesomer
mghaught
2
280
Ruby Community: Awesome; Could be Awesomer
mghaught
4
170
Other Decks in Technology
See All in Technology
When Windows Meets Kubernetes…
pichuang
0
300
AWSサービスアップデート 2024/12 Part3
nrinetcom
PRO
0
140
完全自律型AIエージェントとAgentic Workflow〜ワークフロー構築という現実解
pharma_x_tech
0
350
三菱電機で社内コミュニティを立ち上げた話
kurebayashi
1
360
WantedlyでのKotlin Multiplatformの導入と課題 / Kotlin Multiplatform Implementation and Challenges at Wantedly
kubode
0
250
PaaSの歴史と、 アプリケーションプラットフォームのこれから
jacopen
7
1.5k
Formal Development of Operating Systems in Rust
riru
1
420
.NET 最新アップデート ~ AI とクラウド時代のアプリモダナイゼーション
chack411
0
200
dbtを中心にして組織のアジリティとガバナンスのトレードオンを考えてみた
gappy50
0
270
DMMブックスへのTipKit導入
ttyi2
1
110
Oracle Base Database Service:サービス概要のご紹介
oracle4engineer
PRO
1
16k
ドメイン駆動設計の実践により事業の成長スピードと保守性を両立するショッピングクーポン
lycorptech_jp
PRO
12
2.1k
Featured
See All Featured
How to Ace a Technical Interview
jacobian
276
23k
4 Signs Your Business is Dying
shpigford
182
22k
Fireside Chat
paigeccino
34
3.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
570
Designing for Performance
lara
604
68k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
230
52k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Typedesign – Prime Four
hannesfritz
40
2.5k
Docker and Python
trallard
43
3.2k
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