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
34
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
Interviewing Developers - Boulder Ruby May 2018
mghaught
1
92
The Prototyping Mindset - Devoxx.us 2017
mghaught
0
170
Make Better Decisions
mghaught
0
170
Make Better Decisions
mghaught
0
30
Ruby Community: Awesome; Could be Awesomer
mghaught
2
270
Ruby Community: Awesome; Could be Awesomer
mghaught
4
160
Other Decks in Technology
See All in Technology
プロトタイピングによる不確実性の低減 / Reducing Uncertainty through Prototyping
ohbarye
5
380
開発パフォーマンスを最大化するための開発体制
ham0215
2
190
Postman v10リリース後を振り返る / Looking back at Postman v10 after release
yokawasa
1
150
Java EE/Jakarta EEの現状と将来―クラウドネイティブ時代にJava EEは対応できるのか?―
takakiyo
1
130
Google Cloud Next '24でブログを10本書いた方法と勉強会を沸かせた方法
yasumuusan
0
290
日本におけるデータエンジニアリングのこれまでとこれから
foursue
16
4.2k
ゼロから始めるVue.jsコミュニティ貢献 / first-vuejs-community-contribution-link-and-motivation
lmi
1
110
Delivering Millions of Messages within seconds @ Duolingo
pelelgrino
0
350
DevOpsDays History and my DevOps story
kawaguti
PRO
9
2.4k
エンジニアのキャリアをちょっと楽しくする3本の軸/Three Pillars to Make an Engineer's Career More Enjoyable
kwappa
0
2.6k
エンジニア候補者向け資料2024.04.24.pdf
macloud
0
3.3k
Tableau事例紹介 / Tableau Case Study of Eureka
kazuya_araki_tokyo
1
180
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
20
1.9k
Building Your Own Lightsaber
phodgson
99
5.7k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
Optimising Largest Contentful Paint
csswizardry
8
2.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
25
2.3k
Building Effective Engineering Teams - LeadDev
addyosmani
28
1.8k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
120
39k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
227
16k
Documentation Writing (for coders)
carmenintech
60
3.9k
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