SlideShare a Scribd company logo
3
Most read
4
Most read
6
Most read
Clean Code
Chpt 1
CS342 – Fall 2017
20 Essential Software Development Books to
Read – Dzone.com
• https://apple.news/AiqtCuHXEOlu49_pZTV6yag
1. Refactoring: Improving the Design of Existing Code by Martin Fowler, Kent Beck,
John Brant, William Opdyke, Don Roberts, Erich Gamma
4. Design Patterns: Elements of Reusable Object-Oriented Software by Erich
Gamma, Richard Helm, Ralph Johnson, John Vlissides, Grady Booch
9. Head First Design Patterns: A Brain-Friendly Guide by Eric Freeman, Bert Bates,
Kathy Sierra, Elisabeth Robson
14. Agile Testing: A Practical Guide for Testers and Agile Teams by Lisa Crispin, Janet
Gregory
16. Agile Software Development: Principles, Patterns, and Practices by Robert C.
Martin
Clean Code
• Bad code can bring a company down.
• We wade through bad code, code that impedes our understanding.
• Writing good code takes energy and thoughtful deliberation.
• LeBlanc’s law: Later equals never
• Complexity Slows Done Development
• Lehman’s Laws of Software Evolution
• "Continuing Change" — an E-type system must be continually adapted or it
becomes progressively less satisfactory
• "Increasing Complexity" — as an E-type system evolves, its complexity
increases unless work is done to maintain or reduce it
What is Clean Code?
• Bjarne Stroustrup, Inventor of C++
• I like my code to be elegant and efficient. The logic should be
straightforward to make it hard for bugs to hide, the dependencies
minimal to ease maintenance, error handling complete according to
an articulated strategy, and performance close to optimal so as not to
tempt people to make the code messy with unprincipled
optimizations. Clean code does one thing well.
What is Clean Code?
• Grady Booch, author of Object Oriented Analysis and Design with
Applications
• Clean code is simple and direct. Clean code reads like well-written
prose. Clean code never obscures the designer’s intent but rather is
full of crisp abstractions and straightforward lines of control.
What is Clean Code?
• “Big” Dave Thomas, godfather of Eclipse
• Clean code can be read, and enhanced by a developer other than its
original author. It has unit and acceptance tests. It has meaningful
names. It provides one way rather than many ways for doing one
thing. It has minimal dependencies, which are explicitly defined, and
provides a clear and minimal API. Code should be literate since
depending on the language, not all necessary information can be
expressed clearly in code alone.
What is Clean Code?
• Ron Jeffries, author of Extreme Programming Installed
• Consider Beck’s rules of simple code. In priority order, simple code:
1. Runs all the tests;
2. Contains no duplication;
3. Expresses all the design ideas that are in the system;
4. Minimizes the number of entities such as classes, methods, functions, and
the like.
What is Clean Code?
• Robert Martin, author of Clean Code
• The ratio of time spent reading vs. writing is well over 10:1. We are
constantly reading old code as part of the effort to write new code.
Because this ratio is so high, we want the reading of code to be easy,
even if it makes the writing harder. Of course there’s no way to write
code without reading it, so making it easy to read actually makes it
easier to write
What is Clean Code?
• The Boy Scout Rule:
• Leave the campground cleaner than you found it.
• Applying that idea to coding.
• Imagine if over time code always got better!
• Cleaning can be done a little at a time.
• Clean Coding is at art. An artist must continually practice.
• How do you get to Carnegie Hall?

More Related Content

PDF
Clean Software Design - DevNot Summit Istanbul 2017
PPT
ITkonekt 2019 | Robert C. Martin (Uncle Bob), Clean Architecture and Design
PDF
BDD & Cucumber
PDF
Unwritten Manual for Pair Programming
PDF
Clean Software Design: The Practices to Make The Design Simple
PPTX
Robert martin
PDF
Waste Driven Development - Agile Coaching Serbia Meetup
Clean Software Design - DevNot Summit Istanbul 2017
ITkonekt 2019 | Robert C. Martin (Uncle Bob), Clean Architecture and Design
BDD & Cucumber
Unwritten Manual for Pair Programming
Clean Software Design: The Practices to Make The Design Simple
Robert martin
Waste Driven Development - Agile Coaching Serbia Meetup

What's hot (17)

PPTX
Solid as OOP abstraction
PPTX
Software Quality for Programmers
PDF
Test-Driven Development Reference Card
PDF
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
PPT
The Smells Of Bad Design
PDF
Javascript Clean Code
PPTX
Tdd and bdd
PDF
Kotlin strives for Deep Learning
PDF
Mob Programming for Continuous Learning
PPTX
Real life unit testing tools and practices
PDF
DSL development
PPTX
Eurosport's Kodakademi #2
PDF
Pair programming
PDF
Professionalism and Industry Expectations related to IT industry
PDF
DSLs: what, why, how
PDF
Build your own Language - Why and How?
Solid as OOP abstraction
Software Quality for Programmers
Test-Driven Development Reference Card
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
The Smells Of Bad Design
Javascript Clean Code
Tdd and bdd
Kotlin strives for Deep Learning
Mob Programming for Continuous Learning
Real life unit testing tools and practices
DSL development
Eurosport's Kodakademi #2
Pair programming
Professionalism and Industry Expectations related to IT industry
DSLs: what, why, how
Build your own Language - Why and How?
Ad

Similar to Clean code chpt_1 (20)

PPTX
Clean Code, Resumen Capítulo 1.
PDF
Writing clean and maintainable code
PDF
Software quality
PPTX
Clean Code III - Software Craftsmanship at SoCal Code Camp San Diego (07/27/2...
PPTX
Slides for Houston iPhone Developers' Meetup (April 2012)
 
PPTX
You cant be agile if your code sucks
PPTX
Writing Clean Code
PPTX
Is your code SOLID enough?
PPTX
Clean Code Part III - Craftsmanship at SoCal Code Camp
PPTX
SubmitJS: Is react + redux + typescript a good combination? Dmytro Beseda
PPTX
clean code - uncle bob
PPTX
Software Quality via Unit Testing
PPTX
Clean Code Software Engineering
PDF
Quick Intro to Clean Coding
PPTX
Clean Code III - Software Craftsmanship
PDF
Friday final test
PDF
It is a sunny day
PDF
Agile & Test Driven Development: The Ampersand Commerce Approach
PPTX
Expert Code Review best practices
PPTX
Code smells and Other Malodorous Software Odors
Clean Code, Resumen Capítulo 1.
Writing clean and maintainable code
Software quality
Clean Code III - Software Craftsmanship at SoCal Code Camp San Diego (07/27/2...
Slides for Houston iPhone Developers' Meetup (April 2012)
 
You cant be agile if your code sucks
Writing Clean Code
Is your code SOLID enough?
Clean Code Part III - Craftsmanship at SoCal Code Camp
SubmitJS: Is react + redux + typescript a good combination? Dmytro Beseda
clean code - uncle bob
Software Quality via Unit Testing
Clean Code Software Engineering
Quick Intro to Clean Coding
Clean Code III - Software Craftsmanship
Friday final test
It is a sunny day
Agile & Test Driven Development: The Ampersand Commerce Approach
Expert Code Review best practices
Code smells and Other Malodorous Software Odors
Ad

More from saber tabatabaee (17)

PPTX
clean architecture uncle bob AnalysisAndDesign.el.en.pptx
PPTX
هاستینگ و راه اندازی یک پروژه لاراول - آنالیز و امکان سنجی
PPTX
لاراول ارائه 26 سپتامبر 2021 اسکایپ
PPTX
scrum master اسکرام مستر
PPTX
L5 swagger
PPTX
Crm or xrm
PPT
Scrum master - daily scrum master story
PPTX
Online exam ismc
PPTX
clean code book summary - uncle bob - English version
PPTX
teaching data science students to write clean code
PPTX
Writing clean scientific software Murphy cleancoding
PPTX
R. herves. clean code (theme)2
PPTX
Code quality
PPTX
refactoring code by clean code rules
PPT
sharepoint 2007 presentation in crcis
PPT
Linux DVD 03 Learnkey linux+ setup
PPT
linux+ learnkey DVD 2
clean architecture uncle bob AnalysisAndDesign.el.en.pptx
هاستینگ و راه اندازی یک پروژه لاراول - آنالیز و امکان سنجی
لاراول ارائه 26 سپتامبر 2021 اسکایپ
scrum master اسکرام مستر
L5 swagger
Crm or xrm
Scrum master - daily scrum master story
Online exam ismc
clean code book summary - uncle bob - English version
teaching data science students to write clean code
Writing clean scientific software Murphy cleancoding
R. herves. clean code (theme)2
Code quality
refactoring code by clean code rules
sharepoint 2007 presentation in crcis
Linux DVD 03 Learnkey linux+ setup
linux+ learnkey DVD 2

Recently uploaded (20)

PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Nekopoi APK 2025 free lastest update
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
assetexplorer- product-overview - presentation
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
ai tools demonstartion for schools and inter college
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
System and Network Administraation Chapter 3
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PDF
Digital Strategies for Manufacturing Companies
PDF
System and Network Administration Chapter 2
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
Design an Analysis of Algorithms I-SECS-1021-03
Nekopoi APK 2025 free lastest update
wealthsignaloriginal-com-DS-text-... (1).pdf
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
assetexplorer- product-overview - presentation
Softaken Excel to vCard Converter Software.pdf
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
ai tools demonstartion for schools and inter college
Design an Analysis of Algorithms II-SECS-1021-03
System and Network Administraation Chapter 3
Understanding Forklifts - TECH EHS Solution
Wondershare Filmora 15 Crack With Activation Key [2025
Odoo Companies in India – Driving Business Transformation.pdf
VVF-Customer-Presentation2025-Ver1.9.pptx
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
Digital Strategies for Manufacturing Companies
System and Network Administration Chapter 2
How to Choose the Right IT Partner for Your Business in Malaysia

Clean code chpt_1

  • 1. Clean Code Chpt 1 CS342 – Fall 2017
  • 2. 20 Essential Software Development Books to Read – Dzone.com • https://apple.news/AiqtCuHXEOlu49_pZTV6yag 1. Refactoring: Improving the Design of Existing Code by Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts, Erich Gamma 4. Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Grady Booch 9. Head First Design Patterns: A Brain-Friendly Guide by Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson 14. Agile Testing: A Practical Guide for Testers and Agile Teams by Lisa Crispin, Janet Gregory 16. Agile Software Development: Principles, Patterns, and Practices by Robert C. Martin
  • 3. Clean Code • Bad code can bring a company down. • We wade through bad code, code that impedes our understanding. • Writing good code takes energy and thoughtful deliberation. • LeBlanc’s law: Later equals never • Complexity Slows Done Development • Lehman’s Laws of Software Evolution • "Continuing Change" — an E-type system must be continually adapted or it becomes progressively less satisfactory • "Increasing Complexity" — as an E-type system evolves, its complexity increases unless work is done to maintain or reduce it
  • 4. What is Clean Code? • Bjarne Stroustrup, Inventor of C++ • I like my code to be elegant and efficient. The logic should be straightforward to make it hard for bugs to hide, the dependencies minimal to ease maintenance, error handling complete according to an articulated strategy, and performance close to optimal so as not to tempt people to make the code messy with unprincipled optimizations. Clean code does one thing well.
  • 5. What is Clean Code? • Grady Booch, author of Object Oriented Analysis and Design with Applications • Clean code is simple and direct. Clean code reads like well-written prose. Clean code never obscures the designer’s intent but rather is full of crisp abstractions and straightforward lines of control.
  • 6. What is Clean Code? • “Big” Dave Thomas, godfather of Eclipse • Clean code can be read, and enhanced by a developer other than its original author. It has unit and acceptance tests. It has meaningful names. It provides one way rather than many ways for doing one thing. It has minimal dependencies, which are explicitly defined, and provides a clear and minimal API. Code should be literate since depending on the language, not all necessary information can be expressed clearly in code alone.
  • 7. What is Clean Code? • Ron Jeffries, author of Extreme Programming Installed • Consider Beck’s rules of simple code. In priority order, simple code: 1. Runs all the tests; 2. Contains no duplication; 3. Expresses all the design ideas that are in the system; 4. Minimizes the number of entities such as classes, methods, functions, and the like.
  • 8. What is Clean Code? • Robert Martin, author of Clean Code • The ratio of time spent reading vs. writing is well over 10:1. We are constantly reading old code as part of the effort to write new code. Because this ratio is so high, we want the reading of code to be easy, even if it makes the writing harder. Of course there’s no way to write code without reading it, so making it easy to read actually makes it easier to write
  • 9. What is Clean Code? • The Boy Scout Rule: • Leave the campground cleaner than you found it. • Applying that idea to coding. • Imagine if over time code always got better! • Cleaning can be done a little at a time. • Clean Coding is at art. An artist must continually practice. • How do you get to Carnegie Hall?