SlideShare una empresa de Scribd logo
1 de 11
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

Más contenido relacionado

La actualidad más candente

Seguridad Informatica y Gestión de Riesgos
Seguridad Informatica y Gestión de RiesgosSeguridad Informatica y Gestión de Riesgos
Seguridad Informatica y Gestión de Riesgos
daylisyfran
 
Preguntas seguridad informática
Preguntas seguridad informáticaPreguntas seguridad informática
Preguntas seguridad informática
morfouz
 
Introducción de pruebas de software
Introducción de pruebas de softwareIntroducción de pruebas de software
Introducción de pruebas de software
Marta Silvia Tabares
 
Proyecto de software
Proyecto de softwareProyecto de software
Proyecto de software
monik1002
 
Organismos Y Normas De Cableado Estructurado
Organismos Y Normas De Cableado EstructuradoOrganismos Y Normas De Cableado Estructurado
Organismos Y Normas De Cableado Estructurado
karencitalinda92
 

La actualidad más candente (20)

Seguridad Informatica y Gestión de Riesgos
Seguridad Informatica y Gestión de RiesgosSeguridad Informatica y Gestión de Riesgos
Seguridad Informatica y Gestión de Riesgos
 
Metodología de auditoría informática
Metodología de auditoría informáticaMetodología de auditoría informática
Metodología de auditoría informática
 
Preguntas seguridad informática
Preguntas seguridad informáticaPreguntas seguridad informática
Preguntas seguridad informática
 
Dirección ip y Subredes
Dirección ip y SubredesDirección ip y Subredes
Dirección ip y Subredes
 
10 - Unidad 3: Marcos de Referencia para Seguridad de la Información - 3.2 IS...
10 - Unidad 3: Marcos de Referencia para Seguridad de la Información - 3.2 IS...10 - Unidad 3: Marcos de Referencia para Seguridad de la Información - 3.2 IS...
10 - Unidad 3: Marcos de Referencia para Seguridad de la Información - 3.2 IS...
 
Cuadro comparativo: Sistema experto, inteligencia artificial y redes neuronales
Cuadro comparativo: Sistema experto, inteligencia artificial y redes neuronalesCuadro comparativo: Sistema experto, inteligencia artificial y redes neuronales
Cuadro comparativo: Sistema experto, inteligencia artificial y redes neuronales
 
Exposicion octave
Exposicion octaveExposicion octave
Exposicion octave
 
La Auditoría Física
La Auditoría FísicaLa Auditoría Física
La Auditoría Física
 
Silabo admin centros_de_computo
Silabo admin centros_de_computoSilabo admin centros_de_computo
Silabo admin centros_de_computo
 
Practica de ponchado
Practica de ponchadoPractica de ponchado
Practica de ponchado
 
Tecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto softwareTecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto software
 
Presentación curso informática 1
Presentación curso informática 1Presentación curso informática 1
Presentación curso informática 1
 
Introducción de pruebas de software
Introducción de pruebas de softwareIntroducción de pruebas de software
Introducción de pruebas de software
 
Arquitectura de Software Y Normas ISO
Arquitectura de Software Y Normas ISOArquitectura de Software Y Normas ISO
Arquitectura de Software Y Normas ISO
 
Proyecto de software
Proyecto de softwareProyecto de software
Proyecto de software
 
HISPASEC
HISPASECHISPASEC
HISPASEC
 
Organismos Y Normas De Cableado Estructurado
Organismos Y Normas De Cableado EstructuradoOrganismos Y Normas De Cableado Estructurado
Organismos Y Normas De Cableado Estructurado
 
Como medir la calidad de software
Como medir la calidad de softwareComo medir la calidad de software
Como medir la calidad de software
 
Presentación de antivirus
Presentación de antivirusPresentación de antivirus
Presentación de antivirus
 
02 historia
02   historia02   historia
02 historia
 

Similar a Clean Code, Resumen Capítulo 1.

Scottish Ruby Conference 2014
Scottish Ruby Conference  2014Scottish Ruby Conference  2014
Scottish Ruby Conference 2014
michaelag1971
 

Similar a 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
 

Último

%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 

Último (20)

%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 

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