SlideShare a Scribd company logo
©2010 Improving Enterprises, Inc. 
Good Code 
What, Why, and How to Get There 
Dallas TechFest 2014 
Jane Prusakova 
Josh Rizzo 
@Improving Enterprises College Station
©2010 Improving Enterprises, Inc. 
What is “good”? 
Functional 
Bug-free 
Performant 
Good design 
Tested 
Testable 
Easy to change
©2010 Improving Enterprises, Inc. 
Usability 
Users and clients Developers
©2010 Improving Enterprises, Inc.
“Programs must be written for 
people to read, and only 
incidentally for machines to 
execute.” 
– Abelson and Sussman 
©2010 Improving Enterprises, Inc.
©2010 Improving Enterprises, Inc. 
Readability has value 
NOW 
Code is an asset 
affects productivity 
monetary value
Readability has value 
OVER TIME 
Software evolves over time 
Work by many different teams 
Changes affect value
©2010 Improving Enterprises, Inc. 
Readability has cost 
More hard work 
More time 
More training
©2010 Improving Enterprises, Inc. 
Readable code
©2010 Improving Enterprises, Inc. 
Who is responsible? 
It was hard to write 
It should be hard to 
read
Lets make code more… 
See: https://github.com/joshrizzo/Readability 
©2010 Improving Enterprises, Inc.
©2010 Improving Enterprises, Inc. 
Visible code 
Short and concise 
Spacing and indent matter 
“If we wish to count lines of code, we should 
not regard them as ‘lines produced’ but as 
‘lines spent.’” 
– Edsger Dijkstra
©2010 Improving Enterprises, Inc. 
Code with a narrative 
Use naming to show intent 
Interface design 
“Programming can be fun, so can 
cryptography; however they should not be 
combined.” 
– Kreitzberg and Shneiderman
©2010 Improving Enterprises, Inc. 
Easy to read 
Cohesive level of abstraction 
“The purpose of abstraction is not to be 
vague, but to create a new semantic level in 
which one can be absolutely precise.” 
– Edsger Dijkstra
©2010 Improving Enterprises, Inc. 
Readable++ 
Simplicity
“Everything should be made 
as simple as possible, but not 
simpler.” 
©2010 Improving Enterprises, Inc. 
– Albert Einstein
©2010 Improving Enterprises, Inc. 
Simple vs Fast 
Correctness more important than speed 
Simple code is more likely to be and stay 
correct 
Modularize code w/ performance concerns 
Optimize locally
©2010 Improving Enterprises, Inc.
©2010 Improving Enterprises, Inc. 
Simple vs Flexible 
Re-use is rare 
Predictions of re-use are poor 
Raises complexity significantly 
Unused => not working
©2010 Improving Enterprises, Inc. 
Simple vs Clever 
Over engineering 
Mixing abstractions 
Inappropriate patterns 
Complicated syntax
©2010 Improving Enterprises, Inc. 
Good Code 
What, Why, and How to Get There 
https://github.com/joshrizzo/Readability 
Dallas TechFest 2014 
Jane Prusakova 
Josh Rizzo 
@Improving Enterprises College Station

More Related Content

PPTX
Lets talk about good code
PPTX
What is good code?
PDF
Add a feature? No! Make a New Product
PPTX
Elk Consulting
PDF
The Learning loop of Devops in Enterprise
DOC
Kevin Huynh - Reference Check form
PDF
EA Algorithm in Machine Learning | Edureka
PPSX
The presolution concept
Lets talk about good code
What is good code?
Add a feature? No! Make a New Product
Elk Consulting
The Learning loop of Devops in Enterprise
Kevin Huynh - Reference Check form
EA Algorithm in Machine Learning | Edureka
The presolution concept

Viewers also liked (11)

PPTX
Privacy In The Digital Age
PPTX
Interview: a Learning Conversation
PPTX
Privacy in the digital media age
PPTX
Agile Agile: Adapting Practices to Support Explosive Growth by Ben Foster
PPTX
Building great teams: the power of a nudge.
PDF
Guide to Human Activity System (HAS) Mapping
PDF
Perfect Code
PDF
Ewan developing the agile mindset for organizational agility
PPTX
вольфсон построение собственного Agile-фреймворка (шаблон)
PDF
Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Ha...
PPTX
Privacy in the Digital Age
Privacy In The Digital Age
Interview: a Learning Conversation
Privacy in the digital media age
Agile Agile: Adapting Practices to Support Explosive Growth by Ben Foster
Building great teams: the power of a nudge.
Guide to Human Activity System (HAS) Mapping
Perfect Code
Ewan developing the agile mindset for organizational agility
вольфсон построение собственного Agile-фреймворка (шаблон)
Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Ha...
Privacy in the Digital Age
Ad

Similar to Lets talk About Good Code (Dallas TechFest 2014) (20)

PDF
Excavating the knowledge of our ancestors
PDF
How To Win At Software - Advice for New Engineers - by Gabe Johnson
PDF
A Philosophy Of Software Design John Ousterhout
DOC
PPTX
Good code
PPTX
PDF
Caring about Code Quality
PDF
Clean Code
PDF
Selective 97 things every programmer should know
PDF
97 thingseveryprogrammershouldknow
PPT
SOFTWARE QUALITY ASSURANCE, PAOLA DI MAIO
PDF
A Philosophy Of Software Design Ousterhout John
PDF
A change in perspective
PDF
Software systems engineering PRINCIPLES
PPTX
Clean code presentation
PDF
Four Patterns at the Heart of Good Programming Style
PPT
Evolving as a professional software developer
PDF
Антон Кириллов, ZeptoLab
PPTX
Clean Code Software Engineering
PDF
高品質軟體的基本動作 101 for NTHU
Excavating the knowledge of our ancestors
How To Win At Software - Advice for New Engineers - by Gabe Johnson
A Philosophy Of Software Design John Ousterhout
Good code
Caring about Code Quality
Clean Code
Selective 97 things every programmer should know
97 thingseveryprogrammershouldknow
SOFTWARE QUALITY ASSURANCE, PAOLA DI MAIO
A Philosophy Of Software Design Ousterhout John
A change in perspective
Software systems engineering PRINCIPLES
Clean code presentation
Four Patterns at the Heart of Good Programming Style
Evolving as a professional software developer
Антон Кириллов, ZeptoLab
Clean Code Software Engineering
高品質軟體的基本動作 101 for NTHU
Ad

More from Jane Prusakova (20)

PPTX
Software architecture houstontechfest2020
PPTX
Estimating software development
PPTX
Better remote teams
PPTX
Thoughts on building software architecture
PPTX
Improving IT Performance
PPTX
Agile Software Development
PPTX
Questions of Ethics in Software Development
PPTX
Just startcoding
PPTX
Just start coding
PPTX
Managing remote teams.
PPTX
Gender-neutral Recruiting
PPTX
Effective Code Review
PPTX
Effective Code Review
PPTX
Motivating Knowledge Workers
PPTX
Pragmatic Agile: distributed teams
PPTX
A case for remote teams
PPTX
Women in Technology. Things that hold women back.
PDF
Application Logging for large systems
PPTX
The power of nudge. Building great teams.
PPT
Running Java safely
Software architecture houstontechfest2020
Estimating software development
Better remote teams
Thoughts on building software architecture
Improving IT Performance
Agile Software Development
Questions of Ethics in Software Development
Just startcoding
Just start coding
Managing remote teams.
Gender-neutral Recruiting
Effective Code Review
Effective Code Review
Motivating Knowledge Workers
Pragmatic Agile: distributed teams
A case for remote teams
Women in Technology. Things that hold women back.
Application Logging for large systems
The power of nudge. Building great teams.
Running Java safely

Recently uploaded (20)

PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Designing Intelligence for the Shop Floor.pdf
PDF
Digital Systems & Binary Numbers (comprehensive )
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PPT
Introduction Database Management System for Course Database
PDF
top salesforce developer skills in 2025.pdf
PDF
Digital Strategies for Manufacturing Companies
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
assetexplorer- product-overview - presentation
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
System and Network Administration Chapter 2
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
Transform Your Business with a Software ERP System
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Designing Intelligence for the Shop Floor.pdf
Digital Systems & Binary Numbers (comprehensive )
2025 Textile ERP Trends: SAP, Odoo & Oracle
Which alternative to Crystal Reports is best for small or large businesses.pdf
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Introduction Database Management System for Course Database
top salesforce developer skills in 2025.pdf
Digital Strategies for Manufacturing Companies
Internet Downloader Manager (IDM) Crack 6.42 Build 41
assetexplorer- product-overview - presentation
PTS Company Brochure 2025 (1).pdf.......
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
System and Network Administration Chapter 2
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
VVF-Customer-Presentation2025-Ver1.9.pptx
Transform Your Business with a Software ERP System
How to Migrate SBCGlobal Email to Yahoo Easily

Lets talk About Good Code (Dallas TechFest 2014)

Editor's Notes

  • #3: Usability: The system needs to be functional for the users and clients. Usability: The code needs to be readable for the current and future development of the system.
  • #5: My most popular slide from the #live360 keynote: a comical explanation of how software dev keeps getting harder.
  • #6: Abelson founding director of both Creative Commons and the Free Software Foundation. Sussman and Abelson are co-authors of popular textbook “Structure and Interpretation of Computer Programs”
  • #13: Edsger Dijkstra was a Dutch computer scientist, known for introducing the idea that GOTO is a smell, developing shortest path algorithm, and developing the concept of formal verification.
  • #14: Ben Shneiderman studied programmers and their interactions with the code, developed principles of interface design, worked on information visualization and usability.
  • #16: This quote first appear in Reader’s Digest in 1977, with no supporting references. Attributed to Einstein from someone’s memory, not found in his writings.
  • #17: This quote first appear in Reader’s Digest in 1977, with no supporting references. Attributed to Einstein from someone’s memory, not found in his writings.
  • #19: Bucatti Veyron, top speed 267mph, total production 450 unit. Toyota Corolla, top-selling car for many years. Doesn’t go faster than 111mph. Sold 1.2 units world-wide.