SlideShare una empresa de Scribd logo
1 de 11
Conceptos de Código Limpio
Conceptos de Código Limpio Haz una sola cosa No te repitas a ti mismo (DRY) Ley de Demeter Uso de excepciones en lugar de códigos de error
Haz una sola cosa  	Las clases deben tener una funcionalidad especifica. 	Cada clase debe tener una única funcionalidad, para lo cual, se debe separar en varias clases.
Haz una sola cosa (2)  	Las llamadas a métodos sólo deben hacer una cosa. 	Cuando un método realiza dos tareas diferentes estas deben ser separadas en métodos diferentes.
No te repitas a ti mismo (DRY)  Este principio es una filosofía de definición de procesos que promueve la reducción de la duplicación. Según este principio, toda pieza de información nunca debe ser duplicada, debido a que la duplicación aumenta la complejidad en cambios y la evolución posterior, puede perjudicar la claridad y crear un espacio para posibles inconsistencias.
No te repitas a ti mismo (DRY) (2) Piezas de información Cuando se aplica el principio DRY de forma eficiente, los cambios en cualquier parte del proceso requieren cambios en un único lugar. Por el contrario, si algunas partes del proceso están repetidas por varios sitios, los cambios pueden provocar fallos con mayor facilidad si todos los sitios en los que aparecen no se encuentran sincronizados.
Ley de Demeter La ley de Demeter, o del buen estilo, garantiza que durante un desarrollo orientado a objetos,  se tendrá una buena escalabilidad, pruebas y mantenimiento; ya que ayuda a maximizar la encapsulación. Esto ayuda a mantener un bajo acoplamiento. A menudo el contenido de esta ley se abrevia en una sola frase: “No hables con desconocidos ”
Ley de Demeter (2) Para un método m de una clase o, solo deberían invocarse métodos de los siguientes tipos de objetos: ,[object Object]
De los parámetros que son recibidos por m
De cualquier objeto que sea instanciado dentro de m
De cualquier atributo de o,[object Object]

Más contenido relacionado

Destacado

Mushroom key pakwan A Lecture By Mr Allah Dad Khan Former DG Agriculture Exte...
Mushroom key pakwan A Lecture By Mr Allah Dad Khan Former DG Agriculture Exte...Mushroom key pakwan A Lecture By Mr Allah Dad Khan Former DG Agriculture Exte...
Mushroom key pakwan A Lecture By Mr Allah Dad Khan Former DG Agriculture Exte...Mr.Allah Dad Khan
 
Riesgos de la información electrónica
Riesgos de la información electrónicaRiesgos de la información electrónica
Riesgos de la información electrónicaArianny Borda
 
Beautiful art through apples A Lecture By Mr Allah Dad Khan Former DG Agricu...
Beautiful art through apples  A Lecture By Mr Allah Dad Khan Former DG Agricu...Beautiful art through apples  A Lecture By Mr Allah Dad Khan Former DG Agricu...
Beautiful art through apples A Lecture By Mr Allah Dad Khan Former DG Agricu...Mr.Allah Dad Khan
 
10 high water fruits and veggies A Lecture By Mr Allah Dad Khan Former DG Agr...
10 high water fruits and veggies A Lecture By Mr Allah Dad Khan Former DG Agr...10 high water fruits and veggies A Lecture By Mr Allah Dad Khan Former DG Agr...
10 high water fruits and veggies A Lecture By Mr Allah Dad Khan Former DG Agr...Mr.Allah Dad Khan
 
Le manuscrit 46 de la bibliothèque d’Avranches : présentation codicologique...
Le manuscrit 46 de la bibliothèque d’Avranches : présentation codicologique...Le manuscrit 46 de la bibliothèque d’Avranches : présentation codicologique...
Le manuscrit 46 de la bibliothèque d’Avranches : présentation codicologique...Equipex Biblissima
 
Aplicaciones móviles, experiencias de emprendedor
Aplicaciones móviles, experiencias de emprendedorAplicaciones móviles, experiencias de emprendedor
Aplicaciones móviles, experiencias de emprendedorEmilio Aviles Avila
 
Linked Data for Libraries: Experiments between Cornell, Harvard and Stanford
Linked Data for Libraries: Experiments between Cornell, Harvard and StanfordLinked Data for Libraries: Experiments between Cornell, Harvard and Stanford
Linked Data for Libraries: Experiments between Cornell, Harvard and StanfordSimeon Warner
 
The Semantic Web: A First Step Into the Arena
The Semantic Web: A First Step Into the ArenaThe Semantic Web: A First Step Into the Arena
The Semantic Web: A First Step Into the ArenaEquipex Biblissima
 
Drought management strategy A Lecture By Mr Allah Dad Khan Former DG Agricul...
Drought management strategy  A Lecture By Mr Allah Dad Khan Former DG Agricul...Drought management strategy  A Lecture By Mr Allah Dad Khan Former DG Agricul...
Drought management strategy A Lecture By Mr Allah Dad Khan Former DG Agricul...Mr.Allah Dad Khan
 
Conceptos avanzados oo (presentación 4)
Conceptos avanzados oo (presentación 4)Conceptos avanzados oo (presentación 4)
Conceptos avanzados oo (presentación 4)programadorjavablog
 

Destacado (18)

Mushroom key pakwan A Lecture By Mr Allah Dad Khan Former DG Agriculture Exte...
Mushroom key pakwan A Lecture By Mr Allah Dad Khan Former DG Agriculture Exte...Mushroom key pakwan A Lecture By Mr Allah Dad Khan Former DG Agriculture Exte...
Mushroom key pakwan A Lecture By Mr Allah Dad Khan Former DG Agriculture Exte...
 
Riesgos de la información electrónica
Riesgos de la información electrónicaRiesgos de la información electrónica
Riesgos de la información electrónica
 
Beautiful art through apples A Lecture By Mr Allah Dad Khan Former DG Agricu...
Beautiful art through apples  A Lecture By Mr Allah Dad Khan Former DG Agricu...Beautiful art through apples  A Lecture By Mr Allah Dad Khan Former DG Agricu...
Beautiful art through apples A Lecture By Mr Allah Dad Khan Former DG Agricu...
 
Preguntas de cultura general iv ciclo (1)
Preguntas de cultura general  iv ciclo (1)Preguntas de cultura general  iv ciclo (1)
Preguntas de cultura general iv ciclo (1)
 
10 high water fruits and veggies A Lecture By Mr Allah Dad Khan Former DG Agr...
10 high water fruits and veggies A Lecture By Mr Allah Dad Khan Former DG Agr...10 high water fruits and veggies A Lecture By Mr Allah Dad Khan Former DG Agr...
10 high water fruits and veggies A Lecture By Mr Allah Dad Khan Former DG Agr...
 
Le manuscrit 46 de la bibliothèque d’Avranches : présentation codicologique...
Le manuscrit 46 de la bibliothèque d’Avranches : présentation codicologique...Le manuscrit 46 de la bibliothèque d’Avranches : présentation codicologique...
Le manuscrit 46 de la bibliothèque d’Avranches : présentation codicologique...
 
Html5
Html5Html5
Html5
 
Marketing Viral
Marketing ViralMarketing Viral
Marketing Viral
 
Aplicaciones móviles, experiencias de emprendedor
Aplicaciones móviles, experiencias de emprendedorAplicaciones móviles, experiencias de emprendedor
Aplicaciones móviles, experiencias de emprendedor
 
Linked Data for Libraries: Experiments between Cornell, Harvard and Stanford
Linked Data for Libraries: Experiments between Cornell, Harvard and StanfordLinked Data for Libraries: Experiments between Cornell, Harvard and Stanford
Linked Data for Libraries: Experiments between Cornell, Harvard and Stanford
 
Zaldibiko las vegas hiria
Zaldibiko las vegas hiriaZaldibiko las vegas hiria
Zaldibiko las vegas hiria
 
The Semantic Web: A First Step Into the Arena
The Semantic Web: A First Step Into the ArenaThe Semantic Web: A First Step Into the Arena
The Semantic Web: A First Step Into the Arena
 
Drought management strategy A Lecture By Mr Allah Dad Khan Former DG Agricul...
Drought management strategy  A Lecture By Mr Allah Dad Khan Former DG Agricul...Drought management strategy  A Lecture By Mr Allah Dad Khan Former DG Agricul...
Drought management strategy A Lecture By Mr Allah Dad Khan Former DG Agricul...
 
Control de versiones
Control de versionesControl de versiones
Control de versiones
 
Principios SOLID
Principios SOLIDPrincipios SOLID
Principios SOLID
 
Benjamin Cogrel, Accès aux données à un niveau conceptuel avec Ontop
Benjamin Cogrel, Accès aux données à un niveau conceptuel avec OntopBenjamin Cogrel, Accès aux données à un niveau conceptuel avec Ontop
Benjamin Cogrel, Accès aux données à un niveau conceptuel avec Ontop
 
Conceptos avanzados oo (presentación 4)
Conceptos avanzados oo (presentación 4)Conceptos avanzados oo (presentación 4)
Conceptos avanzados oo (presentación 4)
 
Lenguaje java5 (presentación2)
Lenguaje java5 (presentación2)Lenguaje java5 (presentación2)
Lenguaje java5 (presentación2)
 

Similar a Conceptos de código limpio (presentación 5)

¿A qué huele tu código? Afinando nuestro olfato
¿A qué huele tu código? Afinando nuestro olfato¿A qué huele tu código? Afinando nuestro olfato
¿A qué huele tu código? Afinando nuestro olfatoRubén Bernárdez
 
Refactoring code smelss
Refactoring   code smelssRefactoring   code smelss
Refactoring code smelssGermán Küber
 
Programaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetosProgramaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetosJonathan Macías
 
Base de datos orientada a objetos vs base obje to relacion
Base de datos orientada a objetos vs base obje to relacionBase de datos orientada a objetos vs base obje to relacion
Base de datos orientada a objetos vs base obje to relacionAlfonso Triana
 
Español estructurado
Español estructuradoEspañol estructurado
Español estructuradoJorge Garcia
 
Lenguaje de programacion unidad 2 clases y objetos
Lenguaje de programacion unidad 2 clases y objetosLenguaje de programacion unidad 2 clases y objetos
Lenguaje de programacion unidad 2 clases y objetosAndres Herrera Rodriguez
 
Metodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prevMetodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prevjtk1
 
Compendio de clean code (robert c. martin)
Compendio de clean code (robert c. martin)Compendio de clean code (robert c. martin)
Compendio de clean code (robert c. martin)Nombre Apellidos
 
Definiciones taller 8 agost
Definiciones taller 8 agostDefiniciones taller 8 agost
Definiciones taller 8 agostoosorioj
 
Anon metodologia de la programacion orientada a objetos con c++
Anon   metodologia de la programacion orientada a objetos con c++Anon   metodologia de la programacion orientada a objetos con c++
Anon metodologia de la programacion orientada a objetos con c++ratasquerosaXX
 
Code Smell
Code SmellCode Smell
Code Smellavature
 
Orientacion a objetos cristina cachero
Orientacion a objetos   cristina cacheroOrientacion a objetos   cristina cachero
Orientacion a objetos cristina cacheroLuis R Castellanos
 
Programación i 1. diseño orientado a objetos
Programación i 1. diseño orientado a objetosProgramación i 1. diseño orientado a objetos
Programación i 1. diseño orientado a objetosEdward Ropero
 

Similar a Conceptos de código limpio (presentación 5) (20)

Compendio u1
Compendio u1Compendio u1
Compendio u1
 
¿A qué huele tu código? Afinando nuestro olfato
¿A qué huele tu código? Afinando nuestro olfato¿A qué huele tu código? Afinando nuestro olfato
¿A qué huele tu código? Afinando nuestro olfato
 
Refactoring code smelss
Refactoring   code smelssRefactoring   code smelss
Refactoring code smelss
 
Programaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetosProgramaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetos
 
1 Paradigma Objetos
1 Paradigma Objetos1 Paradigma Objetos
1 Paradigma Objetos
 
Base de datos orientada a objetos vs base obje to relacion
Base de datos orientada a objetos vs base obje to relacionBase de datos orientada a objetos vs base obje to relacion
Base de datos orientada a objetos vs base obje to relacion
 
Emergence
EmergenceEmergence
Emergence
 
Español estructurado
Español estructuradoEspañol estructurado
Español estructurado
 
Lenguaje de programacion unidad 2 clases y objetos
Lenguaje de programacion unidad 2 clases y objetosLenguaje de programacion unidad 2 clases y objetos
Lenguaje de programacion unidad 2 clases y objetos
 
Metodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prevMetodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prev
 
Compendio de clean code (robert c. martin)
Compendio de clean code (robert c. martin)Compendio de clean code (robert c. martin)
Compendio de clean code (robert c. martin)
 
Definiciones taller 8 agost
Definiciones taller 8 agostDefiniciones taller 8 agost
Definiciones taller 8 agost
 
Anon metodologia de la programacion orientada a objetos con c++
Anon   metodologia de la programacion orientada a objetos con c++Anon   metodologia de la programacion orientada a objetos con c++
Anon metodologia de la programacion orientada a objetos con c++
 
Conceptos poo
Conceptos pooConceptos poo
Conceptos poo
 
Asignación 1 astrid c.
Asignación 1 astrid c.Asignación 1 astrid c.
Asignación 1 astrid c.
 
Buenasprcticas
BuenasprcticasBuenasprcticas
Buenasprcticas
 
Code Smell
Code SmellCode Smell
Code Smell
 
Orientacion a objetos cristina cachero
Orientacion a objetos   cristina cacheroOrientacion a objetos   cristina cachero
Orientacion a objetos cristina cachero
 
Programación i 1. diseño orientado a objetos
Programación i 1. diseño orientado a objetosProgramación i 1. diseño orientado a objetos
Programación i 1. diseño orientado a objetos
 
Poo sistem k.a.
Poo sistem k.a.Poo sistem k.a.
Poo sistem k.a.
 

Más de programadorjavablog

Más de programadorjavablog (13)

Hibernate - Relaciones
Hibernate - RelacionesHibernate - Relaciones
Hibernate - Relaciones
 
Hibernate - Introducción
Hibernate - IntroducciónHibernate - Introducción
Hibernate - Introducción
 
Patrones de diseño(presentación 7)
Patrones de diseño(presentación 7)Patrones de diseño(presentación 7)
Patrones de diseño(presentación 7)
 
Uml (presentación 6)
Uml (presentación 6)Uml (presentación 6)
Uml (presentación 6)
 
Curso scjp 30 navegacion de archivos e io
Curso scjp 30   navegacion de archivos e ioCurso scjp 30   navegacion de archivos e io
Curso scjp 30 navegacion de archivos e io
 
7iSF-4 test driver development
7iSF-4   test driver development7iSF-4   test driver development
7iSF-4 test driver development
 
7iSF-3 scrum
7iSF-3   scrum7iSF-3   scrum
7iSF-3 scrum
 
7iSF-2 rup
7iSF-2   rup7iSF-2   rup
7iSF-2 rup
 
7iSF-1 ingeniería de software
7iSF-1   ingeniería de software7iSF-1   ingeniería de software
7iSF-1 ingeniería de software
 
Curso scjp 4 declaracion de clases
Curso scjp 4   declaracion de clasesCurso scjp 4   declaracion de clases
Curso scjp 4 declaracion de clases
 
Curso scjp 3 identificadores y control de acceso
Curso scjp 3   identificadores y control de accesoCurso scjp 3   identificadores y control de acceso
Curso scjp 3 identificadores y control de acceso
 
Curso scjp 2 recordatorio de java
Curso scjp 2   recordatorio de javaCurso scjp 2   recordatorio de java
Curso scjp 2 recordatorio de java
 
Programación orientada a aspectos
Programación orientada a aspectosProgramación orientada a aspectos
Programación orientada a aspectos
 

Último

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 

Último (12)

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 

Conceptos de código limpio (presentación 5)

  • 2. Conceptos de Código Limpio Haz una sola cosa No te repitas a ti mismo (DRY) Ley de Demeter Uso de excepciones en lugar de códigos de error
  • 3. Haz una sola cosa Las clases deben tener una funcionalidad especifica. Cada clase debe tener una única funcionalidad, para lo cual, se debe separar en varias clases.
  • 4. Haz una sola cosa (2) Las llamadas a métodos sólo deben hacer una cosa. Cuando un método realiza dos tareas diferentes estas deben ser separadas en métodos diferentes.
  • 5. No te repitas a ti mismo (DRY) Este principio es una filosofía de definición de procesos que promueve la reducción de la duplicación. Según este principio, toda pieza de información nunca debe ser duplicada, debido a que la duplicación aumenta la complejidad en cambios y la evolución posterior, puede perjudicar la claridad y crear un espacio para posibles inconsistencias.
  • 6. No te repitas a ti mismo (DRY) (2) Piezas de información Cuando se aplica el principio DRY de forma eficiente, los cambios en cualquier parte del proceso requieren cambios en un único lugar. Por el contrario, si algunas partes del proceso están repetidas por varios sitios, los cambios pueden provocar fallos con mayor facilidad si todos los sitios en los que aparecen no se encuentran sincronizados.
  • 7. Ley de Demeter La ley de Demeter, o del buen estilo, garantiza que durante un desarrollo orientado a objetos, se tendrá una buena escalabilidad, pruebas y mantenimiento; ya que ayuda a maximizar la encapsulación. Esto ayuda a mantener un bajo acoplamiento. A menudo el contenido de esta ley se abrevia en una sola frase: “No hables con desconocidos ”
  • 8.
  • 9. De los parámetros que son recibidos por m
  • 10. De cualquier objeto que sea instanciado dentro de m
  • 11.
  • 13. Gracias 11 http://www.javatutoriales.com/ Java Tutoriales en Facebook