SlideShare una empresa de Scribd logo
1 de 11
CLEAN CODE
CAPITULO 12:
EMERGENCE
POR:
Mateo Ortiz Uribe
Hay 4 reglas que son fundamentales para
crear un software bien diseñado.
 Ejecutar todas las pruebas
 No contiene duplicados
 Expresa la intención del programador
 Minimiza el numero de clases y
métodos
Regla 1: EJECUTAR TODAS LAS
PRUEBAS
 Un sistema puede funcionar de
excelente manera sobre el papel pero
si no existe una manera de comprobar
que funciona, el esfuerzo será
cuestionable.
 Un sistema minuciosamente probado
y que supera todas las pruebas en
todo momento se denomina testeable.
 LA CREACION DE PRUEBAS
CONDUCE A OBTENER MEJORES
DISEÑOS
REGLA DE 2 A 4:
REFACTORIZAR
 Una vez creadas las pruebas, se debe
mantener el código limpio y las clases.
Para ello, refactorizamos el código
progresivamente.
Re-factorizar:
 La optimización de un código previamente
escrito, por medio de cambios en su
estructura interna sin esto suponer
alteraciones en su comportamiento externo.
ELIMINAR DUPLICADOS
 Los duplicados significan mas trabajo
innecesario. Suponen un esfuerzo
adicional como: líneas de código
similar o duplicación en
implementación.
Un código limpio
requiere reducir código
, aunque sean unas
pocas líneas.
EXPRESIVIDAD
 Es fácil generar código, que nosotros
a la hora de programar entendamos,
pero los demás como podrán
entenderlo ?
 El principal coste de un proyecto de
software es su mantenimiento a largo
plazo, por ello entre mas claro sea el
código, menos tiempo implementaran
otros en intentar compréndelo.
Puede expresarse entendible
si:
 Eligiendo buenos nombres: los nombre
de una clase o función deben ser
concordantes con sus funcionalidades.
 Se deben mantener funciones y clases
cortas. Lo que usualmente facilita su
entendimiento y modificación.
 Usar nomenclatura estándar.
 Las pruebas bien escritas deben servir
para facilitar el funcionamiento de una
clase.
CLASES Y METODOS
MINIMOS
 En un esfuerzo por reducir el tamaño de
clases y métodos siempre tendrá que ser al
máximo.
 El objetivo es eliminar cantidad de código
que se pueden hacer en menos líneas.
Aunque de las cuatro reglas es la que
menos prioridad tiene , es mucho mas
importante el tener tests, eliminar
duplicados y saber expresarse.
Clean code  cap 12 -emergence

Más contenido relacionado

La actualidad más candente

Physical computing cap 4-5
Physical computing cap 4-5Physical computing cap 4-5
Physical computing cap 4-5
Botero7
 
Como realizar un pseudocodigo
Como realizar un pseudocodigo Como realizar un pseudocodigo
Como realizar un pseudocodigo
2244090
 
Paradigmas de programacion
Paradigmas de programacionParadigmas de programacion
Paradigmas de programacion
Wil Mer
 

La actualidad más candente (19)

Métodos de programación
Métodos de programaciónMétodos de programación
Métodos de programación
 
Algoritmo, diagramas
Algoritmo, diagramasAlgoritmo, diagramas
Algoritmo, diagramas
 
Como realizar un pseudocodigo (1)
Como realizar un pseudocodigo (1)Como realizar un pseudocodigo (1)
Como realizar un pseudocodigo (1)
 
Physical computing cap 4-5
Physical computing cap 4-5Physical computing cap 4-5
Physical computing cap 4-5
 
Como realizar un pseudocodigo
Como realizar un pseudocodigo Como realizar un pseudocodigo
Como realizar un pseudocodigo
 
Algoritmo utilizando pseudolenguaje
Algoritmo utilizando pseudolenguajeAlgoritmo utilizando pseudolenguaje
Algoritmo utilizando pseudolenguaje
 
Pseudocodigo ferro
Pseudocodigo ferroPseudocodigo ferro
Pseudocodigo ferro
 
Unidad#1
Unidad#1Unidad#1
Unidad#1
 
Actionscript 3
Actionscript 3Actionscript 3
Actionscript 3
 
Introducción a los Algoritmos enfocado a la programación.
Introducción a los Algoritmos enfocado a la programación.Introducción a los Algoritmos enfocado a la programación.
Introducción a los Algoritmos enfocado a la programación.
 
Plan3 powerpoint
Plan3 powerpointPlan3 powerpoint
Plan3 powerpoint
 
Tipos de programacion
Tipos de programacionTipos de programacion
Tipos de programacion
 
Unidad1
Unidad1Unidad1
Unidad1
 
Paradigmas de programacion
Paradigmas de programacionParadigmas de programacion
Paradigmas de programacion
 
Lógica de programación
Lógica de programaciónLógica de programación
Lógica de programación
 
1 conceptos algoritmos
1 conceptos algoritmos1 conceptos algoritmos
1 conceptos algoritmos
 
Presentación1
Presentación1Presentación1
Presentación1
 
Tratamiento de errores
Tratamiento de erroresTratamiento de errores
Tratamiento de errores
 
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)
 

Destacado (6)

Koning Boudewijn - De biografie
Koning Boudewijn - De biografieKoning Boudewijn - De biografie
Koning Boudewijn - De biografie
 
Clean code capitulo 4("Comments ")
Clean code capitulo 4("Comments ")Clean code capitulo 4("Comments ")
Clean code capitulo 4("Comments ")
 
Evaluation Question 4
Evaluation Question 4Evaluation Question 4
Evaluation Question 4
 
Гордість української драматургії: Іван Карпович Карпенко-Карий
Гордість української драматургії: Іван Карпович Карпенко-КарийГордість української драматургії: Іван Карпович Карпенко-Карий
Гордість української драматургії: Іван Карпович Карпенко-Карий
 
Refactoring: improving the desing of existing code Cap 1
Refactoring: improving the desing of existing code Cap 1Refactoring: improving the desing of existing code Cap 1
Refactoring: improving the desing of existing code Cap 1
 
Ас қорыту жүйесі
Ас қорыту жүйесіАс қорыту жүйесі
Ас қорыту жүйесі
 

Similar a Clean code cap 12 -emergence

Metodología xp
Metodología xpMetodología xp
Metodología xp
Piskamen
 
las fases del proceso de programacion
las fases del proceso de programacionlas fases del proceso de programacion
las fases del proceso de programacion
gabyota_123
 
Programación Modular y Estructyrada
Programación Modular y EstructyradaProgramación Modular y Estructyrada
Programación Modular y Estructyrada
guestefc95b
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
May Ibarra
 

Similar a Clean code cap 12 -emergence (20)

7iSF-4 test driver development
7iSF-4   test driver development7iSF-4   test driver development
7iSF-4 test driver development
 
Metodologías Aágiles: TDD (Test Driven development)
Metodologías Aágiles: TDD (Test Driven development)Metodologías Aágiles: TDD (Test Driven development)
Metodologías Aágiles: TDD (Test Driven development)
 
Unidad ii. tdd
Unidad ii. tddUnidad ii. tdd
Unidad ii. tdd
 
Metodologiaxp
MetodologiaxpMetodologiaxp
Metodologiaxp
 
Metodología xp
Metodología xpMetodología xp
Metodología xp
 
las fases del proceso de programacion
las fases del proceso de programacionlas fases del proceso de programacion
las fases del proceso de programacion
 
Programación Extrema (Extream Programming XP)
Programación Extrema (Extream Programming XP)Programación Extrema (Extream Programming XP)
Programación Extrema (Extream Programming XP)
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructurada
 
La programación extrema
La programación extremaLa programación extrema
La programación extrema
 
Monografia de xp
Monografia de xpMonografia de xp
Monografia de xp
 
Mejores formas de aprender a programar
Mejores formas de aprender a programarMejores formas de aprender a programar
Mejores formas de aprender a programar
 
Programación Modular y Estructyrada
Programación Modular y EstructyradaProgramación Modular y Estructyrada
Programación Modular y Estructyrada
 
Metodos agiles 4
Metodos agiles 4Metodos agiles 4
Metodos agiles 4
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
Xp
XpXp
Xp
 
Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema
 
Programación extrema
Programación extremaProgramación extrema
Programación extrema
 
Presentación: xUnit y Junit
Presentación: xUnit y JunitPresentación: xUnit y Junit
Presentación: xUnit y Junit
 
Xtreme Programming
Xtreme ProgrammingXtreme Programming
Xtreme Programming
 
Metodologia xp (tarea msmad)
Metodologia xp (tarea msmad)Metodologia xp (tarea msmad)
Metodologia xp (tarea msmad)
 

Clean code cap 12 -emergence

  • 2. Hay 4 reglas que son fundamentales para crear un software bien diseñado.  Ejecutar todas las pruebas  No contiene duplicados  Expresa la intención del programador  Minimiza el numero de clases y métodos
  • 3. Regla 1: EJECUTAR TODAS LAS PRUEBAS  Un sistema puede funcionar de excelente manera sobre el papel pero si no existe una manera de comprobar que funciona, el esfuerzo será cuestionable.  Un sistema minuciosamente probado y que supera todas las pruebas en todo momento se denomina testeable.  LA CREACION DE PRUEBAS CONDUCE A OBTENER MEJORES DISEÑOS
  • 4. REGLA DE 2 A 4: REFACTORIZAR  Una vez creadas las pruebas, se debe mantener el código limpio y las clases. Para ello, refactorizamos el código progresivamente.
  • 5. Re-factorizar:  La optimización de un código previamente escrito, por medio de cambios en su estructura interna sin esto suponer alteraciones en su comportamiento externo.
  • 6. ELIMINAR DUPLICADOS  Los duplicados significan mas trabajo innecesario. Suponen un esfuerzo adicional como: líneas de código similar o duplicación en implementación.
  • 7. Un código limpio requiere reducir código , aunque sean unas pocas líneas.
  • 8. EXPRESIVIDAD  Es fácil generar código, que nosotros a la hora de programar entendamos, pero los demás como podrán entenderlo ?  El principal coste de un proyecto de software es su mantenimiento a largo plazo, por ello entre mas claro sea el código, menos tiempo implementaran otros en intentar compréndelo.
  • 9. Puede expresarse entendible si:  Eligiendo buenos nombres: los nombre de una clase o función deben ser concordantes con sus funcionalidades.  Se deben mantener funciones y clases cortas. Lo que usualmente facilita su entendimiento y modificación.  Usar nomenclatura estándar.  Las pruebas bien escritas deben servir para facilitar el funcionamiento de una clase.
  • 10. CLASES Y METODOS MINIMOS  En un esfuerzo por reducir el tamaño de clases y métodos siempre tendrá que ser al máximo.  El objetivo es eliminar cantidad de código que se pueden hacer en menos líneas. Aunque de las cuatro reglas es la que menos prioridad tiene , es mucho mas importante el tener tests, eliminar duplicados y saber expresarse.