SlideShare a Scribd company logo
CLEAN CODE
ROBERT C. MARTIN
Francisco Arley López Espinosa
Gestión de Calidad de Software
Universidad Pontificia Bolivariana
CAPÍTULO 1
 Habrá código
 Mal código
 Afán
 Después = nunca
 Costo del desorden
 Productividad tiende a 0
 Rediseño
 Mucho tiempo
 Actitud
 Ser profesional, decir NO
CAPÍTULO 1
 Enigma fundamental
 La única manera de ir rápido es ir en orden
 El arte del código limpio
 Es fácil de reconocer, pero no de hacer
 Somos autores
 Y tenemos lectores
 Fácil de leer es más fácil de escribir
 Regla del Boy Scout
 Dejar el campamento más limpio de lo que lo encontraste
WTFs/m Thom Holwerda.
http://www.osnews.com/story/19266/WTFs_m
¿Qué es código limpio?
Bjarne Stroustrup
“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.”
¿Qué es código limpio?
Grady Booch
“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.”
¿Qué es código limpio?
Dave Thomas
“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.”
¿Qué es código limpio?
Michael Feathers
“I could list all of the qualities that I notice in clean code, but
there is one overarching quality that leads to all of them. Clean
code always looks like it was written by someone who cares.
There is nothing obvious that you can do to make it better. All of
those things were thought about by the code’s author, and if
you try to imagine improvements, you’re led back to where you
are, sitting in appreciation of the code someone left for you—
code left by someone who cares deeply about the craft.”
¿Qué es código limpio?
Ron Jeffries
“In recent years I begin, and nearly end, with Beck’s rules of
simple code. In priority order, simple code:
 Runs all the tests;
 Contains no duplication;
 Expresses all the design ideas that are in the system;
 Minimizes the number of entities such as classes, methods,
functions, and the like.”
KEEPING YOUR CODE CLEAN IS NOT JUST
COST EFFECTIVE; IT’S A MATTER OF
PROFESSIONAL SURVIVAL
Bibliografía
 Martin, Robert Cecil (2009). Clean code: a handbook of agile software
craftsmanship. Upper Saddle River, NJ: Prentice Hall

More Related Content

What's hot

Desarrollo del pensamiento clase 2 3 4 5
Desarrollo del pensamiento clase 2 3 4 5Desarrollo del pensamiento clase 2 3 4 5
Desarrollo del pensamiento clase 2 3 4 5
josuemejiacortez
 
Tipos de datos primitivos en c++
Tipos de datos primitivos en c++Tipos de datos primitivos en c++
Tipos de datos primitivos en c++
JOHN BONILLA
 
Chapter 14 AutoEncoder
Chapter 14 AutoEncoderChapter 14 AutoEncoder
Chapter 14 AutoEncoder
KyeongUkJang
 
Convolutional Neural Networks : Popular Architectures
Convolutional Neural Networks : Popular ArchitecturesConvolutional Neural Networks : Popular Architectures
Convolutional Neural Networks : Popular Architectures
ananth
 
Solución de problemas mediante busqueda
Solución de problemas mediante busquedaSolución de problemas mediante busqueda
Solución de problemas mediante busqueda
sacrilegetx
 
Chapter 9 - convolutional networks
Chapter 9 - convolutional networksChapter 9 - convolutional networks
Chapter 9 - convolutional networks
KyeongUkJang
 
Tipos de búsqueda en Inteligencia Artificial
Tipos de búsqueda en Inteligencia ArtificialTipos de búsqueda en Inteligencia Artificial
Tipos de búsqueda en Inteligencia Artificial
Juank Grifin
 
R-FCN : object detection via region-based fully convolutional networks
R-FCN :  object detection via region-based fully convolutional networksR-FCN :  object detection via region-based fully convolutional networks
R-FCN : object detection via region-based fully convolutional networks
Entrepreneur / Startup
 
Parallel convolutional neural network
Parallel  convolutional neural networkParallel  convolutional neural network
Parallel convolutional neural network
Abdullah Khan Zehady
 
Vuelta Atras
Vuelta AtrasVuelta Atras
Leccion 3 hdp
Leccion 3 hdpLeccion 3 hdp
Leccion 3 hdp
Mishelita Valero
 
Neural Network Architectures
Neural Network ArchitecturesNeural Network Architectures
Neural Network Architectures
Martin Ockajak
 
複雑ネットワーク勉強会 第6章 後半
複雑ネットワーク勉強会 第6章 後半複雑ネットワーク勉強会 第6章 後半
複雑ネットワーク勉強会 第6章 後半tetsuro ito
 
Recursividad en Java
Recursividad en JavaRecursividad en Java
Recursividad en Java
Martin Pacheco
 

What's hot (14)

Desarrollo del pensamiento clase 2 3 4 5
Desarrollo del pensamiento clase 2 3 4 5Desarrollo del pensamiento clase 2 3 4 5
Desarrollo del pensamiento clase 2 3 4 5
 
Tipos de datos primitivos en c++
Tipos de datos primitivos en c++Tipos de datos primitivos en c++
Tipos de datos primitivos en c++
 
Chapter 14 AutoEncoder
Chapter 14 AutoEncoderChapter 14 AutoEncoder
Chapter 14 AutoEncoder
 
Convolutional Neural Networks : Popular Architectures
Convolutional Neural Networks : Popular ArchitecturesConvolutional Neural Networks : Popular Architectures
Convolutional Neural Networks : Popular Architectures
 
Solución de problemas mediante busqueda
Solución de problemas mediante busquedaSolución de problemas mediante busqueda
Solución de problemas mediante busqueda
 
Chapter 9 - convolutional networks
Chapter 9 - convolutional networksChapter 9 - convolutional networks
Chapter 9 - convolutional networks
 
Tipos de búsqueda en Inteligencia Artificial
Tipos de búsqueda en Inteligencia ArtificialTipos de búsqueda en Inteligencia Artificial
Tipos de búsqueda en Inteligencia Artificial
 
R-FCN : object detection via region-based fully convolutional networks
R-FCN :  object detection via region-based fully convolutional networksR-FCN :  object detection via region-based fully convolutional networks
R-FCN : object detection via region-based fully convolutional networks
 
Parallel convolutional neural network
Parallel  convolutional neural networkParallel  convolutional neural network
Parallel convolutional neural network
 
Vuelta Atras
Vuelta AtrasVuelta Atras
Vuelta Atras
 
Leccion 3 hdp
Leccion 3 hdpLeccion 3 hdp
Leccion 3 hdp
 
Neural Network Architectures
Neural Network ArchitecturesNeural Network Architectures
Neural Network Architectures
 
複雑ネットワーク勉強会 第6章 後半
複雑ネットワーク勉強会 第6章 後半複雑ネットワーク勉強会 第6章 後半
複雑ネットワーク勉強会 第6章 後半
 
Recursividad en Java
Recursividad en JavaRecursividad en Java
Recursividad en Java
 

Similar to Clean Code, Resumen Capítulo 1.

Clean code chpt_1
Clean code chpt_1Clean code chpt_1
Clean code chpt_1
saber tabatabaee
 
Writing Clean Code
Writing Clean CodeWriting Clean Code
Writing Clean Code
Nascenia IT
 
How have we developed product without bugs
How have we developed product without bugsHow have we developed product without bugs
How have we developed product without bugs
Sigma Software
 
Clean Code Software Engineering
Clean Code Software Engineering Clean Code Software Engineering
Clean Code Software Engineering
Inocentshuja Ahmad
 
Clean Code Pt I
Clean Code Pt IClean Code Pt I
Clean Code Pt I
Paul Boocock
 
Software quality
Software qualitySoftware quality
Software quality
5minpause
 
WordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPressWordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPress
mtoppa
 
Writing clean and maintainable code
Writing clean and maintainable codeWriting clean and maintainable code
Writing clean and maintainable code
Marko Heijnen
 
From keyboard to production
From keyboard to productionFrom keyboard to production
From keyboard to production
Yael Zaritsky Perez
 
YAGNI Principle and Clean Code
YAGNI Principle and Clean CodeYAGNI Principle and Clean Code
YAGNI Principle and Clean Code
Luan Reffatti
 
Scottish Ruby Conference 2014
Scottish Ruby Conference  2014Scottish Ruby Conference  2014
Scottish Ruby Conference 2014
michaelag1971
 
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Bosnia Agile
 
Crafting Great Code
Crafting Great CodeCrafting Great Code
Crafting Great Code
Harold Shinsato
 
Quick Intro to Clean Coding
Quick Intro to Clean CodingQuick Intro to Clean Coding
Quick Intro to Clean Coding
Ecommerce Solution Provider SysIQ
 
Robert martin
Robert martinRobert martin
Robert martin
Shiraz316
 
Code Quality
Code QualityCode Quality
Code Quality
François Camus
 
Codemotion Berlin 2015 recap
Codemotion Berlin 2015   recapCodemotion Berlin 2015   recap
Codemotion Berlin 2015 recap
Torben Dohrn
 
Is your code SOLID enough?
 Is your code SOLID enough? Is your code SOLID enough?
Is your code SOLID enough?
SARCCOM
 
Simplicitylesscode
SimplicitylesscodeSimplicitylesscode
Simplicitylesscode
James Governor
 
Quality rails coding
Quality rails codingQuality rails coding
Quality rails coding
Calum Halcrow
 

Similar to Clean Code, Resumen Capítulo 1. (20)

Clean code chpt_1
Clean code chpt_1Clean code chpt_1
Clean code chpt_1
 
Writing Clean Code
Writing Clean CodeWriting Clean Code
Writing Clean Code
 
How have we developed product without bugs
How have we developed product without bugsHow have we developed product without bugs
How have we developed product without bugs
 
Clean Code Software Engineering
Clean Code Software Engineering Clean Code Software Engineering
Clean Code Software Engineering
 
Clean Code Pt I
Clean Code Pt IClean Code Pt I
Clean Code Pt I
 
Software quality
Software qualitySoftware quality
Software quality
 
WordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPressWordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPress
 
Writing clean and maintainable code
Writing clean and maintainable codeWriting clean and maintainable code
Writing clean and maintainable code
 
From keyboard to production
From keyboard to productionFrom keyboard to production
From keyboard to production
 
YAGNI Principle and Clean Code
YAGNI Principle and Clean CodeYAGNI Principle and Clean Code
YAGNI Principle and Clean Code
 
Scottish Ruby Conference 2014
Scottish Ruby Conference  2014Scottish Ruby Conference  2014
Scottish Ruby Conference 2014
 
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
 
Crafting Great Code
Crafting Great CodeCrafting Great Code
Crafting Great Code
 
Quick Intro to Clean Coding
Quick Intro to Clean CodingQuick Intro to Clean Coding
Quick Intro to Clean Coding
 
Robert martin
Robert martinRobert martin
Robert martin
 
Code Quality
Code QualityCode Quality
Code Quality
 
Codemotion Berlin 2015 recap
Codemotion Berlin 2015   recapCodemotion Berlin 2015   recap
Codemotion Berlin 2015 recap
 
Is your code SOLID enough?
 Is your code SOLID enough? Is your code SOLID enough?
Is your code SOLID enough?
 
Simplicitylesscode
SimplicitylesscodeSimplicitylesscode
Simplicitylesscode
 
Quality rails coding
Quality rails codingQuality rails coding
Quality rails coding
 

Recently uploaded

Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 

Recently uploaded (20)

Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 

Clean Code, Resumen Capítulo 1.

  • 1. CLEAN CODE ROBERT C. MARTIN Francisco Arley López Espinosa Gestión de Calidad de Software Universidad Pontificia Bolivariana
  • 2. CAPÍTULO 1  Habrá código  Mal código  Afán  Después = nunca  Costo del desorden  Productividad tiende a 0  Rediseño  Mucho tiempo  Actitud  Ser profesional, decir NO
  • 3. CAPÍTULO 1  Enigma fundamental  La única manera de ir rápido es ir en orden  El arte del código limpio  Es fácil de reconocer, pero no de hacer  Somos autores  Y tenemos lectores  Fácil de leer es más fácil de escribir  Regla del Boy Scout  Dejar el campamento más limpio de lo que lo encontraste
  • 5. ¿Qué es código limpio? Bjarne Stroustrup “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.”
  • 6. ¿Qué es código limpio? Grady Booch “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.”
  • 7. ¿Qué es código limpio? Dave Thomas “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.”
  • 8. ¿Qué es código limpio? Michael Feathers “I could list all of the qualities that I notice in clean code, but there is one overarching quality that leads to all of them. Clean code always looks like it was written by someone who cares. There is nothing obvious that you can do to make it better. All of those things were thought about by the code’s author, and if you try to imagine improvements, you’re led back to where you are, sitting in appreciation of the code someone left for you— code left by someone who cares deeply about the craft.”
  • 9. ¿Qué es código limpio? Ron Jeffries “In recent years I begin, and nearly end, with Beck’s rules of simple code. In priority order, simple code:  Runs all the tests;  Contains no duplication;  Expresses all the design ideas that are in the system;  Minimizes the number of entities such as classes, methods, functions, and the like.”
  • 10. KEEPING YOUR CODE CLEAN IS NOT JUST COST EFFECTIVE; IT’S A MATTER OF PROFESSIONAL SURVIVAL
  • 11. Bibliografía  Martin, Robert Cecil (2009). Clean code: a handbook of agile software craftsmanship. Upper Saddle River, NJ: Prentice Hall