ecoinfAEET / Notas_Ecosistemas

Notas ecoinformáticas para la revista Ecosistemas
9 stars 15 forks source link

Consejos para mejorar nuestro código y flujo de trabajo con R #48

Closed Pakillo closed 3 years ago

Pakillo commented 3 years ago

Hola,

Acabo de subir, para vuestra revisión y consideración, una posible nota sobre consejos para mejorar nuestro código y flujo de trabajo con R: https://github.com/ecoinfAEET/Notas_Ecosistemas/tree/master/consejos_mejor_codigo. La he subido en formato Rmd, Word y PDF.

La nota se basa en una breve presentación que di la semana pasada (https://doi.org/10.6084/m9.figshare.13362740). Parece que gustó y por eso me he animado a ponerlo por escrito.

Son mil y pico palabras ya, así que no hay mucho espacio para añadir cosas... Pero espero que podáis indicarme si conviene quitar o modificar algo.

¡Muchas gracias!

ajpelu commented 3 years ago

Buenos días @Pakillo. Que chulada de nota. Me ha encantado, creo que es muy sintética y muy directa, ofreciendo un gran abanico de recursos. Además se ve que es fruto de una larga trayectoria de trabajo con R, y puede ayudar mucho a los que estan empezando y a los que llevamos años. Sinceramente es genial.

Solamente tengo algunas pequeñas sugerencias:

Muchas gracias @Pakillo. Como te digo me ha encantado. Ánimo

Un abrazo

Pakillo commented 3 years ago

¡Hola Antonio!

Muchas gracias por tus comentarios y rápida revisión. Me alegro de que te haya gustado :)

Respondo entre líneas a tus comentarios:

Los headings de palabras clave / keywords creo que están cambiados

Ups! Cierto. Corregido

Sugiero añadir en las palabras clave: flujo de trabajo

Hecho

En la línea 24, se dice: "muy recomendable utilizar como git...". Sugiero cambiar por: "muy recomendable utilizar herramientas de control de versiones (la mas popular es git, aunque existen otros sistemas como CVS o Mercurial)"

Gracias. He modificado la redacción de la frase, pero dadas las limitaciones de espacio (debería reducir palabras más que añadir) decidí dejar fuera lo de otros sistemas. La verdad es que en todos estos años no he conocido ni un usuario de R que use Mercurial como VCS... Y si hay alguno que lo usa es porque ya es usuario avanzado y tendrá sus motivos para usarlo. ¿Recomendarías a alguien que se plantee empezar a usar un VCS que se ponga con Mercurial? Yo creo que lo más normal sería empezar con git... Teniendo en cuenta estas circunstancias y la audiencia a la que va dirigida la nota, creo que lo suyo es mencionar y recomendar solo git, te parece? Sí que he mencionado otras plataformas aparte de GitHub, porque ahí si que veo más diversidad entre usuarios de R.

En el consejo 2, sugiero añadir algun ejemplo.

Gracias, muy buena idea! Lo añadiré como figura.

En la línea 46, sugiero sustituir "Herramientas como drake ..." por "Paquetes como drake ..."

Hecho

En el consejo 9, puede resultar interesante añadir algun enlace consejos para nombrar objetos (p.ej: https://style.tidyverse.org/syntax.html)

Genial, muchas gracias!

Un abrazo

Paco

ajpelu commented 3 years ago

Buenas Paco, me parece bien lo de git. Es cierto que hay pocos usuarios de las otras herramientas. Un abrazo AntonioJ

RuthDD commented 3 years ago

Hola Paco. Me parece que la nota está muy bien y sobre todo muy útil. Muchas gracias por compartir estos consejos!

Mi comentario sería sobre el punto 8. Pienso que quizás el nombre podría ser 'Organiza tu código' en lugar de 'Comenta tu código', de modo que se mencione primero la generación de secciones y luego la inclusión de comentarios dentro de las secciones. Algo así: "Utiliza secciones de modo que se pueda navegar fácilmente entre distintos bloques de código. Incluye comentarios dentro de cada sección para explicar el por qué se hacen las cosas de una manera determinada".

Con lo de 'navegar' me refiero a aprovechar la ventaja de RStudio que permite, en la parte inferior del script, cambiar rápidamente de sección y así moverse fácilmente dentro del script. He notado que esta ventaja es usualmente desconocida o ignorada :)

Muchas gracias por la nota Paco!

Un abrazo.

saizhugo commented 3 years ago

Hola Paco,

me ha gustado mucho la nota. Me parece muy simple y directa; todo el mundo la puede entender perfectamente. Mi única sugerencia es que tal vez sería interesante incluir algún recurso online sobre cómo mejorar tu código por si alguien quiere seguir indagando en el tema (conozco gente que ha hecho cursos y workshop sobre el tema y están encantados). estoy seguro que debe de haber un montón de recursos gratuitos que pueden servir a la gente. De todas formas, vista la longitud creo que tal vez mejor no añadir nada.

Nos vemos

algarsal commented 3 years ago

Me gusta mucho la nota. Añadiría en la sección de Rmarkdown, que es importante crear un proyecto de Rmarkdown en la carpeta del proyecto y empezar a trabajar siempre desde ahí.

Esto permite trabajar siempre desde la carpeta del proyecto como carpeta raíz y poder utilizar desde Rmarkdown las principales funciones de git.

Es algo que damos por supuesto, pero en lo que falla mucha gente que está empezando.

Por lo demás lo veo fenomenal. Una gran ayuda y algo a citar en los tutoriales de R y en clase.

Saludos

Alfonso

El 17/12/20 a las 0:46, Francisco Rodriguez-Sanchez escribió:

Hola,

Acabo de subir, para vuestra revisión y consideración, una posible nota sobre consejos para mejorar nuestro código y flujo de trabajo con R: https://github.com/ecoinfAEET/Notas_Ecosistemas/tree/master/consejos_mejor_codigo. La he subido en formato Rmd, Word y PDF.

La nota se basa en una breve presentación que di la semana pasada (https://doi.org/10.6084/m9.figshare.13362740). Parece que gustó y por eso me he animado a ponerlo por escrito.

Son mil y pico palabras ya, así que no hay mucho espacio para añadir cosas... Pero espero que podáis indicarme si conviene quitar o modificar algo.

¡Muchas gracias!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ecoinfAEET/Notas_Ecosistemas/issues/48, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGENY73ABOINMZI4QNYWUBDSVFBEDANCNFSM4U6X3JIA.

ameztegui commented 3 years ago

Hola a todos. Fantástica nota Paco, sintética pero a la vez muy completa. Sugiero añadir, en el.punto 9, un consejo que a mí me va muy bien: que las funciones tengan nombres de acciones, de verbos, y no del objeto que generan (e.g. calculate_mean_value). Parece una tontería pero puede ayudar mucho a entender que hace cada elemento de un script de un vistazo simple. Además, cuando dices que se debe come tar el código, quiz no está de más recordar que el código sirve para explicar el contexto de lo que haces, no tanto para decir qué hace un trozo de código concreto (a no ser que estés usando funciones que apenas conoces).

Enhorabuena, gran nota!

garciacallejas commented 3 years ago

Enhorabuena, Paco, me uno a las felicitaciones por esta nota. Dadas las limitaciones de espacio, creo que no hay mucho que comentar, ya es bastante sintética. Tal vez, si encuentras un hueco, dedica una frase a que uno siga siempre una misma guía de estilo al nombrar y al programar. Y de acuerdo con lo que comenta Alfonso de, para los puntos 1 y 2, mencionar que esto lo facilita mucho Rstudio al trabajar con su estructura de proyectos.

Un abrazo, y felices fiestas a todos!

ibartomeus commented 3 years ago

Muy bueno, Paco, as always.

Implementa lo que han comentado los compañeros, que creo que son buenos puntos y yo añadiria:

Detrás de "en lenguaje R r citep(citation())" añadiria ", pero la mayoria se pueden aplicar a cualquier otro lenguaje de programación." En "utiliza una estructura estándar de proyecto" añadiroa "(e.g. proyectos en Rstudio)" En "8. Comenta tu codigo", haria empfasis en que es más importante documentar "Porque" lo haces, que "que" haces.

Avisas a Susana cuando este enviado y me pones en cc? Gracias!

Pakillo commented 3 years ago

Hola a todos,

Muchas gracias por vuestros comentarios y rápida revisión. He intentado incorporar todas las sugerencias, aunque he tenido que cortar algo de texto al final para no pasarme mucho de las 1000 palabras. La versión revisada está disponible aquí https://github.com/ecoinfAEET/Notas_Ecosistemas/tree/master/consejos_mejor_codigo

Gracias de nuevo y que tengáis un feliz final de año