Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Clean Code Chapter 17: Smells and Heuristics (Spanish)

107 views

Published on

Clean Code Chapter 17: Smells and Heuristics (Spanish)

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Clean Code Chapter 17: Smells and Heuristics (Spanish)

  1. 1. CAPÍTULO 17 SÍNTOMAS Y HEURÍSTICA Libro Código Limpio Robert C. Martin Maria Adelayda Gil Suárez
  2. 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. 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. 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. 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. 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.
  7. 7. GRACIAS!!!

×