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
61
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
More Decks by Marty Haught
See All by Marty Haught
Baltic_Ruby_Keynote_2025.pdf
mghaught
0
110
State of RubyGems 2024
mghaught
0
270
Interviewing Developers - Boulder Ruby May 2018
mghaught
1
150
The Prototyping Mindset - Devoxx.us 2017
mghaught
0
210
Make Better Decisions
mghaught
0
210
Make Better Decisions
mghaught
0
51
Ruby Community: Awesome; Could be Awesomer
mghaught
2
300
Ruby Community: Awesome; Could be Awesomer
mghaught
4
200
Other Decks in Technology
See All in Technology
AIっぽい文章を採点して人間らしく直すアプリを作ってみた
yama3133
2
140
Snowflakeと仲良くなる第一歩
coco_se
4
440
2026 TECHFRESH 畢業分享會 - AI-Native 重塑軟體工程與虛擬講師
line_developers_tw
PRO
0
920
AIのReact習熟度を測る
uhyo
2
260
白金鉱業Meetup_Vol.24_「AIエージェントは分けるほど良い」は本当か? / Is it true that “the more you divide AI agents, the better”?
brainpadpr
1
350
社内 AI エージェント Synapse と セマンティックレイヤーの育て方
hiroakis
2
1.8k
FDE という解 ― 暗黙知と明示知をつなぐ、伴走型エンジニアリング ―
otanet
0
140
Chainlitで作るお手軽チャットUI
ynt0485
0
230
AI駆動開発を通して感じた、 AI時代のデザイナーの役割変化
whisaiyo
2
1.9k
AIの性能が向上しても未解決な組織の重大問題は何か?/An Unsolved Organizational Problem in the Age of AI
moriyuya
4
640
2026TECHFRESH畢業分享會 - 原生還是跨平台? App 開發踩坑實錄
line_developers_tw
PRO
0
920
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
2k
Featured
See All Featured
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
840
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
250
Agile that works and the tools we love
rasmusluckow
331
21k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Optimizing for Happiness
mojombo
378
71k
Balancing Empowerment & Direction
lara
6
1.2k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
540
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Practical Orchestrator
shlominoach
191
11k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.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