SlideShare uma empresa Scribd logo
1 de 7
CAPÍTULO 17
SÍNTOMAS Y HEURÍSTICA
Libro Código Limpio
Robert C. Martin
Maria Adelayda Gil Suárez
COMENTARIOS
No use información inapropiada
como historiales de cambios o
información del autor; use notas
técnicas sobre el código y el
diseño.
Analice si algún comentario
puede volverse obsoleto,
anticuado o irrelevante en el
tiempo.
Evite comentarios redundantes,
comente lo que el código no
puede expresar por si mismo.
Use gramática y puntuación
correcta, no divague, ni afirme lo
evidente.
No comente grandes
fragmentos de código, haga su
código más impecable.
Checklist
Información inapropiada.
Comentario obsoleto.
Comentario redundante.
Comentario mal escrito.
Código comentado.
ENTORNO
La generación de un proyecto
requiere más de un paso para
comprobar todos los elementos
del control de código fuente.
Las pruebas de unidad se
ejecutan con varios pasos desde
una línea de comandos.
Checklist
La generación requiere mas
de un paso.
Las pruebas requieren más
de un paso.
FUNCIONES
Reduzca la cantidad de
argumentos, más de tres es
cuestionable y debe evitarse.
Los argumentos de salida son
ilógicos, si su función debe
cambiar el estado de algo,
cambie el estado del objeto que
se invoca.
Los argumentos booleanos
resultan confusos y deben
eliminarse.
Los métodos que nunca se
invocan son innecesarios y
deben eliminarse.
Checklist
Demasiados argumentos
Argumentos de salida
Argumentos de indicador
Función muerta.
GENERAL
Minimizar la cantidad de
lenguajes adicionales en cada
archivo.
Siempre implementar los
comportamientos que otro
programador esperaría, de no
ser así se puede perder la
confianza en el autor original.
Busque todas las condiciones
límites y haga pruebas en cada
una, sea completamente
meticuloso.
No desactive determinadas
advertencias del compilador,
corrija todas las pruebas que
fallan y no corra riesgos
innecesarios.
El código duplicado indica una
oportunidad de abstracción, con
la abstracción el código se
vuelve más rápido, y es menos
proclive a errores.
No mezclar conceptos de nivel
inferior con el nivel superior; las
clases bases no deben saber
nada sobre sus derivadas.
Minimice la información, una
interfaz bien definida tiene
pocas funciones y sus
conexiones son reducidas.
Checklist
Varios lenguajes en un
archivo de código.
Comportamiento evidente
no implementado.
Comportamiento incorrecto
en los límites.
Medidas de seguridad
canceladas.
Duplicación.
Código en un nivel de
abstracción incorrecto.
Clases que dependen de sus
variantes.
Exceso de información.
Código muerto.
GENERAL
Mantenga sus archivos bien
organizados y sin elementos
sobrantes o código muerto.
Defina sus variables y funciones
cerca de donde se utilicen. Las
variables encima de su primer
uso y las funciones privadas
debajo de su primer uso.
Sea coherente en su código,
asigne nombres con las mismas
técnicas. Use nombres
descriptivos. sendbtn namelbl
Analice dónde puede declarar
sus funciones, constantes y
variables, no establezca
conexiones artificiales entre dos
módulos sin un propósito
directo.
Haga su código lo mas expresivo
posible, no haga expresiones
extensas, notaciones y números
extraños que hagan
impenetrable su código. Piense
en sus lectores.
Analice muy bien los nombres
de sus funciones para identificar
donde ubicar el código. Sea muy
intuitivo para su lector.
Asegúrate de comprender tu
código refactorizándolo en algo
tan limpio y expresivo que su
funcionamiento sea evidente.
Checklist
Separación vertical.
Incoherencia.
Desorden.
Conexiones artificiales
Envidia de las características.
Argumentos de selector.
Intención desconocida.
Responsabilidad desubicada.
Elementos estáticos
incorrectos.
Usar variables explicativas.
Los nombres de función
deben indicar lo que hacen.
Comprender el algoritmo.
GRACIAS!!!

Mais conteúdo relacionado

Mais procurados

Mais procurados (18)

Algoritmo, diagramas
Algoritmo, diagramasAlgoritmo, diagramas
Algoritmo, diagramas
 
Pseudocodigo ferro
Pseudocodigo ferroPseudocodigo ferro
Pseudocodigo ferro
 
Presentación pseudocódigo
Presentación pseudocódigoPresentación pseudocódigo
Presentación pseudocódigo
 
Physical computing cap 4-5
Physical computing cap 4-5Physical computing cap 4-5
Physical computing cap 4-5
 
Tipos de programacion
Tipos de programacionTipos de programacion
Tipos de programacion
 
Métodos de programación
Métodos de programaciónMétodos de programación
Métodos de programación
 
Algoritmos y diagramas de flujo
Algoritmos y diagramas de flujoAlgoritmos y diagramas de flujo
Algoritmos y diagramas de flujo
 
Algoritmos de programacion Wilson Terceros
Algoritmos de programacion Wilson TercerosAlgoritmos de programacion Wilson Terceros
Algoritmos de programacion Wilson Terceros
 
Presentación1
Presentación1Presentación1
Presentación1
 
Algoritmos. Andrea Juarez y Gabriela Lozano
Algoritmos. Andrea Juarez y Gabriela LozanoAlgoritmos. Andrea Juarez y Gabriela Lozano
Algoritmos. Andrea Juarez y Gabriela Lozano
 
Melendez
MelendezMelendez
Melendez
 
1 conceptos algoritmos
1 conceptos algoritmos1 conceptos algoritmos
1 conceptos algoritmos
 
Action script
Action scriptAction script
Action script
 
PARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOPARADIGMA IMPERATIVO
PARADIGMA IMPERATIVO
 
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)
 
Action script
Action scriptAction script
Action script
 
Trabajo 2
Trabajo 2Trabajo 2
Trabajo 2
 
Unidad#1
Unidad#1Unidad#1
Unidad#1
 

Destaque (12)

Clean Code Capítulo 2
Clean Code  Capítulo 2Clean Code  Capítulo 2
Clean Code Capítulo 2
 
Clean code capitulo 4("Comments ")
Clean code capitulo 4("Comments ")Clean code capitulo 4("Comments ")
Clean code capitulo 4("Comments ")
 
Clean code
Clean codeClean code
Clean code
 
Clean Code, Resumen Capítulo 1.
Clean Code, Resumen Capítulo 1. Clean Code, Resumen Capítulo 1.
Clean Code, Resumen Capítulo 1.
 
BuStop
BuStopBuStop
BuStop
 
GameStop
GameStopGameStop
GameStop
 
Modelo de negocio
Modelo de negocioModelo de negocio
Modelo de negocio
 
Gomosos fc
Gomosos fcGomosos fc
Gomosos fc
 
Cap11 clean code - alexandergiraldo
Cap11 clean code - alexandergiraldoCap11 clean code - alexandergiraldo
Cap11 clean code - alexandergiraldo
 
Clean code capítulo 10
Clean code capítulo 10Clean code capítulo 10
Clean code capítulo 10
 
Clean code chapter11 - systems
Clean code   chapter11 - systemsClean code   chapter11 - systems
Clean code chapter11 - systems
 
Pitch CinS
Pitch CinSPitch CinS
Pitch CinS
 

Semelhante a Clean Code Chapter 17: Smells and Heuristics (Spanish)

Extreme Programing y Devops - Código de Calidad
Extreme Programing y Devops - Código de CalidadExtreme Programing y Devops - Código de Calidad
Extreme Programing y Devops - Código de CalidadJose Antonio Jimenez Bisbe
 
Refactoring code smelss
Refactoring   code smelssRefactoring   code smelss
Refactoring code smelssGermán Küber
 
Apuntes #XPweek
Apuntes #XPweekApuntes #XPweek
Apuntes #XPweekCarlos Ble
 
Curso Java Inicial 2 - Introducción y Sintaxis
Curso Java Inicial  2 - Introducción y SintaxisCurso Java Inicial  2 - Introducción y Sintaxis
Curso Java Inicial 2 - Introducción y SintaxisEmilio Aviles Avila
 
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012Alfredo Chavez
 
Clean code 7-8
Clean code 7-8Clean code 7-8
Clean code 7-8540deg
 
Fundamentos de Java / 15 consejos prácticos sobre Java que cambiarán la for...
Fundamentos de Java /   15 consejos prácticos sobre Java que cambiarán la for...Fundamentos de Java /   15 consejos prácticos sobre Java que cambiarán la for...
Fundamentos de Java / 15 consejos prácticos sobre Java que cambiarán la for...Eudris Cabrera
 
Actividad 3 Errores semanticos_Juan Vivas.pptx
Actividad 3 Errores semanticos_Juan Vivas.pptxActividad 3 Errores semanticos_Juan Vivas.pptx
Actividad 3 Errores semanticos_Juan Vivas.pptxjvivas7627
 
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring -  Junta General del MexALN 28/06/2012Retos en la Adopción del Refactoring -  Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012Alfredo Chavez
 
5 tips para programar en Ruby On Rails
5 tips para programar en Ruby On Rails 5 tips para programar en Ruby On Rails
5 tips para programar en Ruby On Rails kyaalena
 
Lenguaje de programacion c#
Lenguaje de programacion c#Lenguaje de programacion c#
Lenguaje de programacion c#XM Filial de ISA
 

Semelhante a Clean Code Chapter 17: Smells and Heuristics (Spanish) (20)

Extreme Programing y Devops - Código de Calidad
Extreme Programing y Devops - Código de CalidadExtreme Programing y Devops - Código de Calidad
Extreme Programing y Devops - Código de Calidad
 
Código Limpio
Código LimpioCódigo Limpio
Código Limpio
 
Código Limpio
Código LimpioCódigo Limpio
Código Limpio
 
Refactoring code smelss
Refactoring   code smelssRefactoring   code smelss
Refactoring code smelss
 
legacy
legacylegacy
legacy
 
Apuntes #XPweek
Apuntes #XPweekApuntes #XPweek
Apuntes #XPweek
 
Curso Java Inicial 2 - Introducción y Sintaxis
Curso Java Inicial  2 - Introducción y SintaxisCurso Java Inicial  2 - Introducción y Sintaxis
Curso Java Inicial 2 - Introducción y Sintaxis
 
Portafolio de evidencias
Portafolio de evidenciasPortafolio de evidencias
Portafolio de evidencias
 
Portafolio de evidencias
Portafolio de evidenciasPortafolio de evidencias
Portafolio de evidencias
 
Software Correctness
Software CorrectnessSoftware Correctness
Software Correctness
 
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
 
Clean code 7-8
Clean code 7-8Clean code 7-8
Clean code 7-8
 
Fundamentos de Java / 15 consejos prácticos sobre Java que cambiarán la for...
Fundamentos de Java /   15 consejos prácticos sobre Java que cambiarán la for...Fundamentos de Java /   15 consejos prácticos sobre Java que cambiarán la for...
Fundamentos de Java / 15 consejos prácticos sobre Java que cambiarán la for...
 
Actividad 3 Errores semanticos_Juan Vivas.pptx
Actividad 3 Errores semanticos_Juan Vivas.pptxActividad 3 Errores semanticos_Juan Vivas.pptx
Actividad 3 Errores semanticos_Juan Vivas.pptx
 
Testing, tipos y otros flamewars
Testing, tipos y otros flamewarsTesting, tipos y otros flamewars
Testing, tipos y otros flamewars
 
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring -  Junta General del MexALN 28/06/2012Retos en la Adopción del Refactoring -  Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
 
5 tips para programar en Ruby On Rails
5 tips para programar en Ruby On Rails 5 tips para programar en Ruby On Rails
5 tips para programar en Ruby On Rails
 
Lenguaje de programacion c#
Lenguaje de programacion c#Lenguaje de programacion c#
Lenguaje de programacion c#
 
Cuida tu código: Clean Code
Cuida tu código: Clean CodeCuida tu código: Clean Code
Cuida tu código: Clean Code
 
Programacion java
Programacion javaProgramacion java
Programacion java
 

Último

LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfbcondort
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.pptoscarvielma45
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaAlexanderimanolLencr
 
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOPERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOFritz Rebaza Latoche
 
desarrollodeproyectoss inge. industrial
desarrollodeproyectoss  inge. industrialdesarrollodeproyectoss  inge. industrial
desarrollodeproyectoss inge. industrialGibranDiaz7
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfdanielJAlejosC
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxJuanPablo452634
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingKevinCabrera96
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxCARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxvalenciaespinozadavi1
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESOCAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESOLUISDAVIDVIZARRETARA
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesCarlosMeraz16
 
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdfTEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdfXimenaFallaLecca1
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfs7yl3dr4g0n01
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZgustavoiashalom
 

Último (20)

LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiología
 
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOPERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
 
desarrollodeproyectoss inge. industrial
desarrollodeproyectoss  inge. industrialdesarrollodeproyectoss  inge. industrial
desarrollodeproyectoss inge. industrial
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdf
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards Deming
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxCARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESOCAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestaciones
 
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdfTEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
 

Clean Code Chapter 17: Smells and Heuristics (Spanish)

  • 1. CAPÍTULO 17 SÍNTOMAS Y HEURÍSTICA Libro Código Limpio Robert C. Martin Maria Adelayda Gil Suárez
  • 2. COMENTARIOS No use información inapropiada como historiales de cambios o información del autor; use notas técnicas sobre el código y el diseño. Analice si algún comentario puede volverse obsoleto, anticuado o irrelevante en el tiempo. Evite comentarios redundantes, comente lo que el código no puede expresar por si mismo. Use gramática y puntuación correcta, no divague, ni afirme lo evidente. No comente grandes fragmentos de código, haga su código más impecable. Checklist Información inapropiada. Comentario obsoleto. Comentario redundante. Comentario mal escrito. Código comentado.
  • 3. ENTORNO La generación de un proyecto requiere más de un paso para comprobar todos los elementos del control de código fuente. Las pruebas de unidad se ejecutan con varios pasos desde una línea de comandos. Checklist La generación requiere mas de un paso. Las pruebas requieren más de un paso.
  • 4. FUNCIONES Reduzca la cantidad de argumentos, más de tres es cuestionable y debe evitarse. Los argumentos de salida son ilógicos, si su función debe cambiar el estado de algo, cambie el estado del objeto que se invoca. Los argumentos booleanos resultan confusos y deben eliminarse. Los métodos que nunca se invocan son innecesarios y deben eliminarse. Checklist Demasiados argumentos Argumentos de salida Argumentos de indicador Función muerta.
  • 5. GENERAL Minimizar la cantidad de lenguajes adicionales en cada archivo. Siempre implementar los comportamientos que otro programador esperaría, de no ser así se puede perder la confianza en el autor original. Busque todas las condiciones límites y haga pruebas en cada una, sea completamente meticuloso. No desactive determinadas advertencias del compilador, corrija todas las pruebas que fallan y no corra riesgos innecesarios. El código duplicado indica una oportunidad de abstracción, con la abstracción el código se vuelve más rápido, y es menos proclive a errores. No mezclar conceptos de nivel inferior con el nivel superior; las clases bases no deben saber nada sobre sus derivadas. Minimice la información, una interfaz bien definida tiene pocas funciones y sus conexiones son reducidas. Checklist Varios lenguajes en un archivo de código. Comportamiento evidente no implementado. Comportamiento incorrecto en los límites. Medidas de seguridad canceladas. Duplicación. Código en un nivel de abstracción incorrecto. Clases que dependen de sus variantes. Exceso de información. Código muerto.
  • 6. GENERAL Mantenga sus archivos bien organizados y sin elementos sobrantes o código muerto. Defina sus variables y funciones cerca de donde se utilicen. Las variables encima de su primer uso y las funciones privadas debajo de su primer uso. Sea coherente en su código, asigne nombres con las mismas técnicas. Use nombres descriptivos. sendbtn namelbl Analice dónde puede declarar sus funciones, constantes y variables, no establezca conexiones artificiales entre dos módulos sin un propósito directo. Haga su código lo mas expresivo posible, no haga expresiones extensas, notaciones y números extraños que hagan impenetrable su código. Piense en sus lectores. Analice muy bien los nombres de sus funciones para identificar donde ubicar el código. Sea muy intuitivo para su lector. Asegúrate de comprender tu código refactorizándolo en algo tan limpio y expresivo que su funcionamiento sea evidente. Checklist Separación vertical. Incoherencia. Desorden. Conexiones artificiales Envidia de las características. Argumentos de selector. Intención desconocida. Responsabilidad desubicada. Elementos estáticos incorrectos. Usar variables explicativas. Los nombres de función deben indicar lo que hacen. Comprender el algoritmo.