Artwork

Contenido proporcionado por Carlos Blé. Todo el contenido del podcast, incluidos episodios, gráficos y descripciones de podcast, lo carga y proporciona directamente Carlos Blé o su socio de plataforma de podcast. Si cree que alguien está utilizando su trabajo protegido por derechos de autor sin su permiso, puede seguir el proceso descrito aquí https://es.player.fm/legal.
Player FM : aplicación de podcast
¡Desconecta con la aplicación Player FM !

E12: Comentarios en el código y documentación

 
Compartir
 

Series guardadas ("Feed inactivo" status)

When? This feed was archived on September 06, 2022 12:56 (1+ y ago). Last successful fetch was on June 22, 2022 16:39 (2y ago)

Why? Feed inactivo status. Nuestros servidores no pudieron recuperar un podcast válido durante un período sostenido.

What now? You might be able to find a more up-to-date version using the search function. This series will no longer be checked for updates. If you believe this to be in error, please check if the publisher's feed link below is valid and contact support to request the feed be restored or if you have any other concerns about this.

Manage episode 272507866 series 2601664
Contenido proporcionado por Carlos Blé. Todo el contenido del podcast, incluidos episodios, gráficos y descripciones de podcast, lo carga y proporciona directamente Carlos Blé o su socio de plataforma de podcast. Si cree que alguien está utilizando su trabajo protegido por derechos de autor sin su permiso, puede seguir el proceso descrito aquí https://es.player.fm/legal.

Retomamos uno de los asuntos mencionados en el episodio 10, los comentarios en el código y de paso hablamos de otros tipos de documentación. Entre el extremo de escribir comentarios para absolutamente todo y el de escribir cero comentarios, está el punto en el que ponemos foco en el episodio.

Ejemplos de comentarios útiles:

  • Explicar por qué, para qué y también por qué no, y qué evitar.
  • Por qué se decidió implementar concretamente de la manera que está.
  • Por qué se descartó implementarlo de otra manera que quizás parece más obvia o natural.
  • Para qué se usa ese código, dónde encaja, qué otros posibles usos podría tener. Si existe alguna situación en la que pudiera ser prescindible y borrarse.
  • Lo que se probó y no funcionó, para que no vuelva a invertir el tiempo la persona que viene.
  • Lo que se estudió y se descartó. Cuáles fueron las conclusiones de la investigación.
  • Código legado que no se entiende pero que se consigue entender después de mucho trabajo, entonces ponle un comentario, si no lo puedes tocar al menos que quede algo documentado.
  • Los efectos colaterales que provocarían cambios aparentemente inocuos. Por ejemplo condiciones de carrera o interbloqueos al cambiar de orden dos líneas de código. Un salto de línea que parece insignificante y hace que luego la importación de un fichero en un sistema externo deje de funcionar...
  • Si existen parámetros globales de configuración u otros factores externos que podrían afectar a este código o que haya que tener en cuenta para su correcto funcionamiento.
  • Si en caso de fallo se puede ir a mirar algún tipo de log o cualquier otra forma de depuración. Sobre todo en tests de integración.
  • Si el sistema puede crecer hasta un punto en que el código dejará de servir. Es decir, si hemos elegido una solución potencialmente de corto recorrido. Por ejemplo una librería que ya no tiene soporte o un sistema que sólo aguantará hasta N usuarios.
  • Ayudar a entender cómo se comporta una librería o framework cuando interactuamos de cierta forma que podría no estar documentada o ser poco intuitiva.
  • Describir un API pública de propósito general.
  • Comentarios en el PR con las herramientas de Github.
  • Poner en un comentario la url a la documentacion de api, una URL.
  • Los comentarios como punto intermedio de refactoring, mientras vas entendiendo cosas del codigo legacy y no te atreves a tocar, como andamiaje cognitivo.
  • Comportamientos extraños o poco intiuitivos de software de terceros.
  • Comentar por que esta el framework configurado de cierta forma, que error se generaba sino se configura asi. La convencion sobre configuracion a veces requiere de un comentario.

En cuanto a tipos de documentación que me resulta útil:

  • API - swagger/open api
  • Bitácora de proyecto / changelog.
  • Los commits en el control de versiones, Git.
  • Docs de api (JavaDoc...)
  • Post Morten analysis.
  • Instrucciones de instalacion y despliegue en entornos
  • Targs mejor que arboles de categorias.
  • Diagramas de componentes de alto nivel, arquitectura del sistema.
  • Bugtracker o gestor de incidencias como medida de progreso y mejora.
  • Manuales de usuario.

Muchísimas gracias a todas las personas que han colaborado en este episodio:

Newsletters:

  continue reading

35 episodios

Artwork
iconCompartir
 

Series guardadas ("Feed inactivo" status)

When? This feed was archived on September 06, 2022 12:56 (1+ y ago). Last successful fetch was on June 22, 2022 16:39 (2y ago)

Why? Feed inactivo status. Nuestros servidores no pudieron recuperar un podcast válido durante un período sostenido.

What now? You might be able to find a more up-to-date version using the search function. This series will no longer be checked for updates. If you believe this to be in error, please check if the publisher's feed link below is valid and contact support to request the feed be restored or if you have any other concerns about this.

Manage episode 272507866 series 2601664
Contenido proporcionado por Carlos Blé. Todo el contenido del podcast, incluidos episodios, gráficos y descripciones de podcast, lo carga y proporciona directamente Carlos Blé o su socio de plataforma de podcast. Si cree que alguien está utilizando su trabajo protegido por derechos de autor sin su permiso, puede seguir el proceso descrito aquí https://es.player.fm/legal.

Retomamos uno de los asuntos mencionados en el episodio 10, los comentarios en el código y de paso hablamos de otros tipos de documentación. Entre el extremo de escribir comentarios para absolutamente todo y el de escribir cero comentarios, está el punto en el que ponemos foco en el episodio.

Ejemplos de comentarios útiles:

  • Explicar por qué, para qué y también por qué no, y qué evitar.
  • Por qué se decidió implementar concretamente de la manera que está.
  • Por qué se descartó implementarlo de otra manera que quizás parece más obvia o natural.
  • Para qué se usa ese código, dónde encaja, qué otros posibles usos podría tener. Si existe alguna situación en la que pudiera ser prescindible y borrarse.
  • Lo que se probó y no funcionó, para que no vuelva a invertir el tiempo la persona que viene.
  • Lo que se estudió y se descartó. Cuáles fueron las conclusiones de la investigación.
  • Código legado que no se entiende pero que se consigue entender después de mucho trabajo, entonces ponle un comentario, si no lo puedes tocar al menos que quede algo documentado.
  • Los efectos colaterales que provocarían cambios aparentemente inocuos. Por ejemplo condiciones de carrera o interbloqueos al cambiar de orden dos líneas de código. Un salto de línea que parece insignificante y hace que luego la importación de un fichero en un sistema externo deje de funcionar...
  • Si existen parámetros globales de configuración u otros factores externos que podrían afectar a este código o que haya que tener en cuenta para su correcto funcionamiento.
  • Si en caso de fallo se puede ir a mirar algún tipo de log o cualquier otra forma de depuración. Sobre todo en tests de integración.
  • Si el sistema puede crecer hasta un punto en que el código dejará de servir. Es decir, si hemos elegido una solución potencialmente de corto recorrido. Por ejemplo una librería que ya no tiene soporte o un sistema que sólo aguantará hasta N usuarios.
  • Ayudar a entender cómo se comporta una librería o framework cuando interactuamos de cierta forma que podría no estar documentada o ser poco intuitiva.
  • Describir un API pública de propósito general.
  • Comentarios en el PR con las herramientas de Github.
  • Poner en un comentario la url a la documentacion de api, una URL.
  • Los comentarios como punto intermedio de refactoring, mientras vas entendiendo cosas del codigo legacy y no te atreves a tocar, como andamiaje cognitivo.
  • Comportamientos extraños o poco intiuitivos de software de terceros.
  • Comentar por que esta el framework configurado de cierta forma, que error se generaba sino se configura asi. La convencion sobre configuracion a veces requiere de un comentario.

En cuanto a tipos de documentación que me resulta útil:

  • API - swagger/open api
  • Bitácora de proyecto / changelog.
  • Los commits en el control de versiones, Git.
  • Docs de api (JavaDoc...)
  • Post Morten analysis.
  • Instrucciones de instalacion y despliegue en entornos
  • Targs mejor que arboles de categorias.
  • Diagramas de componentes de alto nivel, arquitectura del sistema.
  • Bugtracker o gestor de incidencias como medida de progreso y mejora.
  • Manuales de usuario.

Muchísimas gracias a todas las personas que han colaborado en este episodio:

Newsletters:

  continue reading

35 episodios

Todos los episodios

×
 
Loading …

Bienvenido a Player FM!

Player FM está escaneando la web en busca de podcasts de alta calidad para que los disfrutes en este momento. Es la mejor aplicación de podcast y funciona en Android, iPhone y la web. Regístrate para sincronizar suscripciones a través de dispositivos.

 

Guia de referencia rapida