¡Código hermoso,
porque lo valemos!
Maëlle Salmon
Teorema fundamental de la legibilidad: “El código debe escribirse de manera que se minimice el tiempo que le llevaría a otra persona entenderlo.”
(Traducido) The Art of Readable Code, Dustin Boswell y Trevor Foucher.
Espaciado regular entre elementos
Que no sea muy ancho
Que no sea muy largo: párrafos, funciones que existan o que creaste
Que no sea muy “manchado”: la cantidad justa de comentarios
😱
😌
Seguí las normas, siempre las mismas normas, las mismas que siguen tus amigos y amigas. Por ejemplo: https://style.tidyverse.org/ ¿Cómo lo hacés?
Te acostumbrás.
La herramienta Air!
Una herramienta externa programada en Rust por Lionel Henry y Davis Vaughan.
Se usa en Positron o RStudio IDE o la CLI o en GitHub Actions o…
💙 Arreglar cuando guardas el archivo.
💙 Arreglar cuando guardas el archivo.
💙 Sugerencias en PRs.
https://www.tidyverse.org/blog/2025/06/air-0-7-0/#github-action
No más de 80 caracteres por línea, o algo similar.
"editor.rulers": [80]
en settings.json
)Como en la prosa, un párrafo para una idea.
Mantén el cuerpo de la función principal no demasiado largo delegando cosas a funciones con nombres adecuados.
Demostración
Entrar + clic
Barra de búsqueda
Demostración
Entrar + clic
Ctrl + T (o Ctrl + P si "search.quickOpen.includeSymbols": true
en settings.json
)
🤨
😁
Antes pensaba…
Es inútil y aburrido escribir, ¡e incluso puede ser peligroso!
Un comentario = ¡como una alerta!
Si hay demasiados, dejamos de leerlos.
Cambiá el nombre de una variable en lugar de comentar lo que es.
Cambiá la estructura de un código complicado en lugar de comentar lo que hace.
Meh:
Yupi
Es posible definir una función en lugar de una variable, si es necesario.
Documentar funciones con roxygen2 (y devtag);
Cosas que te gustaría señalar a un revisor de código, como por ejemplo # This query can not be done via GraphQL, so have to use v3 REST API
Comentarios que proporcionen un índice. Demostración.
Espaciado uniforme entre elementos
No muy ancho
No muy largo: párrafos, funciones externas o internas
Sin muchas “manchas”: la cantidad justa de comentarios
Nombres autoexplicativos.
Consejos de lógica: usa return()
pronto, switch()
.
Menos código.
Seguí la moda.
Felienne Hermans aconseja elegir los conceptos que van en el nombre, las palabras para decirlo, y luego juntarlos.
“Cuanto mayor sea la distancia entre la declaración de un nombre y sus usos, más largo debe ser el nombre” (Andrew Gerrand).
Está claro si la persona que revisa tu código está de acuerdo 😉
Incluso podés cambiar el nombre de las funciones existentes si eso aclara las cosas.
return()
prontoMeh
return()
pronto¡Mejor!
switch()
Meh
switch()
¡Mejor!
Incluso podés especificar un valor por defecto (¡o error!) para otros valores del primer argumento.
Mantén acotado el alcance de forma estricta.
Utilizá dependencias externas de confianza.
Nombres autoexplicativos.
Consejos de lógica: usar return()
pronto, switch()
.
Menos código.
¿Una vez al año? https://www.tidyverse.org/blog/2023/06/spring-cleaning-2023/
¿Más regularmente?
¿Hacer una pequeña mejora cada vez que añadimos una nueva función?
¡Miremos la documentación!
¡Puede hacer cambios!
¡Leé el código de tus colegas y viceversa! https://code-review.tidyverse.org/ + https://developer-success-lab.gitbook.io/code-review-anxiety-workbook-1
Revisión por pares de paquetes en rOpenSci https://ropensci.org/software-review/
Teorema fundamental de la legibilidad: “El código debe escribirse de manera que se minimice el tiempo que le llevaría a otra persona entenderlo.”
(Traducido) The Art of Readable Code, Dustin Boswell y Trevor Foucher.
Necesidad de mantenimiento del código y de tus conocimientos.
Charla de Jenny Bryan Code feels, code smells
Libro The Art of Readable Code de Dustin Boswell y Trevor Foucher
¡A tod@s vosotr@s y a Yani!
https://codigo-hermoso.netlify.app/
Picture by Ann H on Pexels.