SlideShare una empresa de Scribd logo
1 de 9
Making Comments
Precise and Compact
Octavio Vélez G.
Gestión de la calidad del software
Keep Comments Compact
Forma no ideal:
No es necesario usar 3 líneas para
explicarlo, por el contrario, lo
podemos hacer de la siguiente
manera:
Avoid Ambiguous Pronouns
Se necesita un trabajo extra para que el lector pueda entender a que se
refiere un pronombre. Y en algunos casos, no está claro. Por ejemplo:
Si por ejemplo, me quiero referir a los datos, una forma de dejarlo claro es de
la siguiente manera:
También es posible reestructurar la frase para lograr ser precisos con lo que
se quiere expresar.
Describe Function Behavior Precisely
Imagine que acaba de escribir una función que cuenta el número de líneas en
un archivo:
Este comentario no es muy preciso ya que hay muchas maneras de definir
una "línea".
Describe Function Behavior Precisely
Si en este caso la implementación consistiera en contar el número de
caracteres de nuevas líneas (n). El comentario adecuado sería:
Este comentario no es tan largo en comparación a la primera versión pero si
contiene mucha más información para el lector del código. De manera que le
permite entender fácilmente que hace la función.
Use Input/Output Examples That Illustrate Corner
Cases
Un comentario con un ejemplo de entrada / salida bien elegido puede valer
más que mil palabras.
Por ejemplo para una función que remueve partes de una cadena.
Este comentario no es muy preciso ya que el lector no sabría con claridad
como opera dicha función y podrían surgir ciertas preguntas.
Use Input/Output Examples That Illustrate Corner
Cases
Un ejemplo bien elegido, daría claridad a su funcionalidad.
Mientras que un ejemplo muy sencillo, sería igual de ambiguo que la
definición inicial.
State the Intent of Your Code
Comentar es decirle al lector en qué se pensaba cuando se escribió el código.
Desafortunadamente, muchos comentarios terminan simplemente
describiendo lo que hace el código en términos literales, sin agregar nueva
información.
La ventaja que tiene un comentario que describa que se pretendía hacer con
el código, es que permite al lector verificar si lo descrito en el comentario es
lo que realmente hace la función. Es decir, el comentario ayuda como una
comprobación extra de que el código esté bien desarrollado.
Conclusiones.
• Describir el comportamiento de una función con tanta precisión como sea
práctico.
• Ilustre sus comentarios con ejemplos de entrada / salida cuidadosamente
seleccionados.
• Indique la intención de su código a grandes rasgos, en lugar de los detalles
obvios.
• Mantenga sus comentarios breves usando palabras que tienen mucho
significado.

Más contenido relacionado

La actualidad más candente

Unidad 06 -_metodologia_tecnica_y_tecnologia_para_solucionar_un_problema
Unidad 06 -_metodologia_tecnica_y_tecnologia_para_solucionar_un_problemaUnidad 06 -_metodologia_tecnica_y_tecnologia_para_solucionar_un_problema
Unidad 06 -_metodologia_tecnica_y_tecnologia_para_solucionar_un_problemaIdealab
 
Agregar espacios en html
Agregar espacios en htmlAgregar espacios en html
Agregar espacios en htmlAngie Vasquez
 
Elian examen-info-
Elian examen-info-Elian examen-info-
Elian examen-info-elian rivas
 
Presentación de programación (conceptos y ejercicios)
Presentación de programación (conceptos y ejercicios)Presentación de programación (conceptos y ejercicios)
Presentación de programación (conceptos y ejercicios)guest6a4fee
 
Diapositivas del resumen y ejercicios(finalizada) (1)
Diapositivas del resumen y ejercicios(finalizada) (1)Diapositivas del resumen y ejercicios(finalizada) (1)
Diapositivas del resumen y ejercicios(finalizada) (1)guestc229aba9
 
Diapositivas del resumen y ejercicios(finalizada)
Diapositivas del resumen y ejercicios(finalizada)Diapositivas del resumen y ejercicios(finalizada)
Diapositivas del resumen y ejercicios(finalizada)guest6a4fee
 

La actualidad más candente (6)

Unidad 06 -_metodologia_tecnica_y_tecnologia_para_solucionar_un_problema
Unidad 06 -_metodologia_tecnica_y_tecnologia_para_solucionar_un_problemaUnidad 06 -_metodologia_tecnica_y_tecnologia_para_solucionar_un_problema
Unidad 06 -_metodologia_tecnica_y_tecnologia_para_solucionar_un_problema
 
Agregar espacios en html
Agregar espacios en htmlAgregar espacios en html
Agregar espacios en html
 
Elian examen-info-
Elian examen-info-Elian examen-info-
Elian examen-info-
 
Presentación de programación (conceptos y ejercicios)
Presentación de programación (conceptos y ejercicios)Presentación de programación (conceptos y ejercicios)
Presentación de programación (conceptos y ejercicios)
 
Diapositivas del resumen y ejercicios(finalizada) (1)
Diapositivas del resumen y ejercicios(finalizada) (1)Diapositivas del resumen y ejercicios(finalizada) (1)
Diapositivas del resumen y ejercicios(finalizada) (1)
 
Diapositivas del resumen y ejercicios(finalizada)
Diapositivas del resumen y ejercicios(finalizada)Diapositivas del resumen y ejercicios(finalizada)
Diapositivas del resumen y ejercicios(finalizada)
 

Destacado (7)

Haciendo estructuras de control fáciles de leer
Haciendo estructuras de control fáciles de leerHaciendo estructuras de control fáciles de leer
Haciendo estructuras de control fáciles de leer
 
Standlan presentación 1
Standlan presentación 1Standlan presentación 1
Standlan presentación 1
 
Entrega standlan
Entrega standlanEntrega standlan
Entrega standlan
 
Capitulo 3 - nombres que no pueden ser malinterpretados
Capitulo 3 -  nombres que no pueden ser malinterpretadosCapitulo 3 -  nombres que no pueden ser malinterpretados
Capitulo 3 - nombres que no pueden ser malinterpretados
 
Presentacion aesthetics
Presentacion aestheticsPresentacion aesthetics
Presentacion aesthetics
 
Capítulo 8 breaking down giant expressions
Capítulo 8  breaking down giant expressionsCapítulo 8  breaking down giant expressions
Capítulo 8 breaking down giant expressions
 
taorc
taorctaorc
taorc
 

Similar a the art of readable code

Similar a the art of readable code (20)

Hora 12
Hora 12Hora 12
Hora 12
 
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)
 
Funciones
Funciones Funciones
Funciones
 
12 PHP. Lineas de comentario
12 PHP. Lineas de comentario12 PHP. Lineas de comentario
12 PHP. Lineas de comentario
 
Comentarios
ComentariosComentarios
Comentarios
 
Manual
ManualManual
Manual
 
Clean Code - Capítulo 5 formatting
Clean Code - Capítulo 5 formattingClean Code - Capítulo 5 formatting
Clean Code - Capítulo 5 formatting
 
Arquitectura integra 2
Arquitectura integra 2Arquitectura integra 2
Arquitectura integra 2
 
Buenas practicas en programacion web
Buenas practicas en programacion webBuenas practicas en programacion web
Buenas practicas en programacion web
 
_Concepto de interfaz_interfaz_interfaz_interfaz_interfaz_.pptx
_Concepto de interfaz_interfaz_interfaz_interfaz_interfaz_.pptx_Concepto de interfaz_interfaz_interfaz_interfaz_interfaz_.pptx
_Concepto de interfaz_interfaz_interfaz_interfaz_interfaz_.pptx
 
Programacion java
Programacion javaProgramacion java
Programacion java
 
Modelos de dominio
Modelos de dominioModelos de dominio
Modelos de dominio
 
Modelos de dominio
Modelos de dominioModelos de dominio
Modelos de dominio
 
Punteros y elementos dinámicos en c++
Punteros y elementos dinámicos en c++Punteros y elementos dinámicos en c++
Punteros y elementos dinámicos en c++
 
Guia java script
Guia java scriptGuia java script
Guia java script
 
Desarrollo de aplicaciones en internet
Desarrollo de aplicaciones en internetDesarrollo de aplicaciones en internet
Desarrollo de aplicaciones en internet
 
Anyi amaya
Anyi amayaAnyi amaya
Anyi amaya
 
p
pp
p
 
Tecnologia
TecnologiaTecnologia
Tecnologia
 
funciones python ejemplo para utilizar en
funciones python ejemplo para utilizar enfunciones python ejemplo para utilizar en
funciones python ejemplo para utilizar en
 

Último

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
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
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 

Último (13)

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
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
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 

the art of readable code

  • 1. Making Comments Precise and Compact Octavio Vélez G. Gestión de la calidad del software
  • 2. Keep Comments Compact Forma no ideal: No es necesario usar 3 líneas para explicarlo, por el contrario, lo podemos hacer de la siguiente manera:
  • 3. Avoid Ambiguous Pronouns Se necesita un trabajo extra para que el lector pueda entender a que se refiere un pronombre. Y en algunos casos, no está claro. Por ejemplo: Si por ejemplo, me quiero referir a los datos, una forma de dejarlo claro es de la siguiente manera: También es posible reestructurar la frase para lograr ser precisos con lo que se quiere expresar.
  • 4. Describe Function Behavior Precisely Imagine que acaba de escribir una función que cuenta el número de líneas en un archivo: Este comentario no es muy preciso ya que hay muchas maneras de definir una "línea".
  • 5. Describe Function Behavior Precisely Si en este caso la implementación consistiera en contar el número de caracteres de nuevas líneas (n). El comentario adecuado sería: Este comentario no es tan largo en comparación a la primera versión pero si contiene mucha más información para el lector del código. De manera que le permite entender fácilmente que hace la función.
  • 6. Use Input/Output Examples That Illustrate Corner Cases Un comentario con un ejemplo de entrada / salida bien elegido puede valer más que mil palabras. Por ejemplo para una función que remueve partes de una cadena. Este comentario no es muy preciso ya que el lector no sabría con claridad como opera dicha función y podrían surgir ciertas preguntas.
  • 7. Use Input/Output Examples That Illustrate Corner Cases Un ejemplo bien elegido, daría claridad a su funcionalidad. Mientras que un ejemplo muy sencillo, sería igual de ambiguo que la definición inicial.
  • 8. State the Intent of Your Code Comentar es decirle al lector en qué se pensaba cuando se escribió el código. Desafortunadamente, muchos comentarios terminan simplemente describiendo lo que hace el código en términos literales, sin agregar nueva información. La ventaja que tiene un comentario que describa que se pretendía hacer con el código, es que permite al lector verificar si lo descrito en el comentario es lo que realmente hace la función. Es decir, el comentario ayuda como una comprobación extra de que el código esté bien desarrollado.
  • 9. Conclusiones. • Describir el comportamiento de una función con tanta precisión como sea práctico. • Ilustre sus comentarios con ejemplos de entrada / salida cuidadosamente seleccionados. • Indique la intención de su código a grandes rasgos, en lugar de los detalles obvios. • Mantenga sus comentarios breves usando palabras que tienen mucho significado.

Notas del editor

  1. Mantener Comentarios Compactos (puntuacion, peso)
  2. Evite los pronombres ambiguos La última oración es más clara y directa, una buena práctica
  3. Describir el Comportamiento de la Función Precisamente
  4. Utilice ejemplos de entrada / salida que ilustran casos de esquinas Preguntas: ¿Los caracteres son una subcadena completa que se va a eliminar o, de hecho, sólo un conjunto de letras desordenado? ¿Qué pasa si hay múltiplos de char al final de src? Se eliminan todos o solo ?
  5. Indique el propósito de su código