Revisiones de Código React en Open Source: Asegurando Calidad y Colaboración

Rate this content
Bookmark

En esta charla rápida, exploraremos la importancia de las revisiones de código en proyectos de código abierto, específicamente dentro del ecosistema React. Discutiremos los beneficios de las revisiones de código para mantener la calidad del código, fomentar la colaboración y mantener los estándares del proyecto. Al enfatizar la retroalimentación efectiva, la comunicación respetuosa y el uso de herramientas relevantes, los participantes obtendrán conocimientos prácticos sobre cómo realizar

revisiones de código React impactantes. Únete a mí para aprender cómo las revisiones de código pueden mejorar el proceso de desarrollo, fomentar el intercambio de conocimientos y contribuir al éxito de los proyectos de código abierto en la comunidad React.

This talk has been presented at React Advanced 2023, check out the latest edition of this React Conference.

FAQ

Open Source, o código abierto, es un enfoque de desarrollo de software donde el código está disponible públicamente, permitiendo su uso libre y la colaboración de cualquier persona, independientemente de su género, raza o habilidades.

El desarrollo colaborativo en código abierto fomenta la inclusión, la transparencia y la confianza, además de promover la innovación rápida al permitir que los colaboradores compartan ideas y mejoras.

Una revisión de código es un proceso donde uno o más desarrolladores evalúan el código fuente de otro, buscando errores y mejoras. Incluye presentación de código, solicitud de revisión, evaluación, y si es adecuado, aprobación y fusión en el repositorio principal.

Los desafíos incluyen barreras del idioma, la necesidad de actualizar constantemente la documentación y la acumulación de revisiones, lo que puede sobrecargar a los revisores en proyectos populares.

Las herramientas de revisión de código como linters, plataformas como GitHub, y herramientas de integración continua facilitan el seguimiento de cambios, la discusión entre colaboradores y la ejecución automática de pruebas, mejorando la calidad del código y la eficiencia del proceso.

Una métrica útil es el tiempo de finalización de la revisión de código, donde un mayor número de desarrolladores activos en la revisión suele resultar en tiempos de revisión más cortos.

Patrick Odey
Patrick Odey
6 min
23 Oct, 2023

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Open Source promueve la accesibilidad, inclusividad, colaboración, innovación, transparencia y confianza. Las revisiones de código son un proceso colaborativo en el desarrollo de software, con desafíos que incluyen barreras del idioma, cambios en la documentación y acumulación de revisiones. Las mejores prácticas para revisiones de código efectivas incluyen objetivos claros, centrarse en el código y usar herramientas de revisión de código. Los Linters son importantes para escanear problemas de código, y la medición del éxito en las revisiones de código se puede hacer usando métricas clave. Las revisiones de código React son cruciales para el éxito de los proyectos de código abierto.

1. Introducción al Open Source y las Revisiones de Código

Short description:

Hola, soy Patrick O'Day, un Ingeniero de Relaciones con Desarrolladores en Storyblock. Hoy hablaré sobre las Revelaciones de Código de React en Open Source, Asegurando la Calidad y la Colaboración. Open Source se refiere a hacer el código de software disponible al público, promoviendo la accesibilidad, inclusividad, colaboración, innovación, transparencia y confianza.

Hola a todos, mi nombre es Patrick O'Day, soy un Ingeniero de Relaciones con Desarrolladores en Storyblock. Estoy realmente emocionado de hablar en la React Advanced Londres 2023. Hoy voy a estar hablando sobre las Revelaciones de Código de React en Open Source, Asegurando la Calidad y la Colaboración. Si me adentro en este tema, primero tenemos que entender qué es Open Source. Simplemente dicho, Open Source se refiere a un enfoque de desarrollo de software donde el código de un software se hace disponible al público. Básicamente, cuando tienes un software de código abierto, es libre de usar y las personas pueden elegir contribuir también al software. Ahora, como dato curioso, React es un proyecto de código abierto. ¿Cuál es la importancia del código abierto? Accessibility e inclusividad. Ahora, en un proyecto de código abierto, cualquiera puede contribuir independientemente de su género, raza o habilidades. Desarrollo colaborativo. En código abierto, fomentamos la colaboración, también la rápida innovation. Cuando estás codificando o contribuyendo a un software de código abierto, siempre encuentras innovation e ideas de otros colaboradores. Vemos transparencia y confianza. En las contribuciones de código abierto, siempre hay transparencia, porque puedes mirar el código y ver si hay algún código malicioso en él. Así que siempre hay confianza y transparencia.

2. Entendiendo las Revisiones de Código y las Mejores Prácticas

Short description:

La revisión de código es un proceso colaborativo en el desarrollo de software, donde uno o más desarrolladores evalúan el código fuente escrito por otro desarrollador. Los desafíos en las revisiones de código de código abierto incluyen barreras del idioma, cambios en la documentación y acumulación de revisiones. Las mejores prácticas para revisiones de código efectivas incluyen tener objetivos claros, centrarse en el código y aprovechar herramientas de revisión de código como los linters.

Ahora, hablemos de las revisiones de código. ¿Qué es la revisión de código? La revisión de código es un proceso colaborativo en el desarrollo de software, donde uno o más desarrolladores evalúan el código fuente escrito por otro desarrollador. Ahora, vamos a ver cómo funcionan las revisiones de código. El primer paso sería la presentación por parte del colaborador. Ahora, cuando el colaborador envía un código particular o un PR, siempre hay una solicitud de revisión por parte del revisor o el mantenedor de ese proyecto de código abierto. Ahora, esto pasaría por una evaluación, que devolvería comentarios al colaborador. Si es necesario, habrá una discusión, pero después de eso, aprobación, si todo va bien, entonces el código o el commit se fusiona en el repositorio real. Ahora, vamos a ver los desafíos en las revisiones de código de código abierto. El primero son las barreras del idioma. Ahora, esto es realmente común porque, en un proyecto de código abierto, tienes diferentes personas de diferentes partes del mundo con diferentes idiomas contribuyendo. Por lo tanto, la comunicación puede ser un problema. Documentation. Diferentes personas están comprometidas con un proyecto de código abierto en particular. Entonces, dado que son nuevas características, siempre hay cambios en la documentation. Y esto puede ser un problema para el equipo de documentation que gestiona un proyecto de código abierto en particular. Miremos la acumulación de revisiones. Esto va para los revisores porque hay muchos PRs que vienen con un proyecto de código abierto popular. Por ejemplo, en realidad tenemos muchos PRs allí que están siendo revisados por los revisores, y esto lleva mucho tiempo y puede ser un problema o dolor. Ahora, veamos las best practices para revisiones de código efectivas. La primera es tener objetivos claros. También es bueno o es importante definir los objetivos y las expectativas de la revisión de código, como encontrar errores o mejorar la code quality en esta revisión de sprint en particular. Revisar el código, no a la persona. Esto es muy importante porque tenemos que centrarnos en el código como revisor y no en el autor. Mantenemos la retroalimentación constructiva y también respetamos y enfatizamos en las mejoras en lugar de las críticas. Veamos el uso de herramientas de revisión de código. Es importante aprovechar las herramientas de revisión de código que agilizan el proceso facilitando el seguimiento de los cambios y la discusión. Veremos las herramientas en la siguiente diapositiva. Como pueden ver en el GIF aquí, ya lo saben porque la mayoría de ellos son

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Impacto: Creciendo como Ingeniero
React Summit 2022React Summit 2022
27 min
Impacto: Creciendo como Ingeniero
Top Content
This Talk explores the concepts of impact and growth in software engineering. It emphasizes the importance of finding ways to make the impossible possible and the role of mastery in expanding one's sphere of impact. The Talk also highlights the significance of understanding business problems and fostering a culture of collaboration and innovation. Effective communication, accountability, and decision-making are essential skills for engineers, and setting goals and finding sponsors can help drive career growth. Feedback, goal setting, and stepping outside of comfort zones are crucial for personal development and growth. Taking responsibility for one's own growth and finding opportunities for impact are key themes discussed in the Talk.
Sobre convertirse en un Tech Lead
TechLead Conference 2023TechLead Conference 2023
25 min
Sobre convertirse en un Tech Lead
Top Content
The role of a Tech Lead involves shaping the roadmap, helping the team be more effective, and working on important projects. Lessons learned include encouraging idea sharing, avoiding taking on all the work, and focusing on delegation. Tech Leads focus on the outcome, involve the team in decision-making, and make plans based on how different pieces will interact. The role of a Tech Lead is to focus on engineering and guide the team in figuring out how the whole system should fit together. Architecting can become problematic when it loses touch with the coding part, resulting in implementation issues.
Un Marco para Gestionar la Deuda Técnica
TechLead Conference 2023TechLead Conference 2023
35 min
Un Marco para Gestionar la Deuda Técnica
Top Content
Today's Talk discusses the importance of managing technical debt through refactoring practices, prioritization, and planning. Successful refactoring requires establishing guidelines, maintaining an inventory, and implementing a process. Celebrating success and ensuring resilience are key to building a strong refactoring culture. Visibility, support, and transparent communication are crucial for addressing technical debt effectively. The team's responsibilities, operating style, and availability should be transparent to product managers.
Principios para Escalar el Desarrollo de Aplicaciones Frontend
React Summit 2023React Summit 2023
26 min
Principios para Escalar el Desarrollo de Aplicaciones Frontend
Top Content
This Talk discusses scaling front-end applications through principles such as tearing down barriers, sharing code in a monorepo, and making it easy to delete code. It also emphasizes incremental migration, embracing lack of knowledge, and eliminating systematic complexity. The Talk highlights the use of automation in code migration and the importance of removing barriers to enable smoother code migration.
Luchando contra la Deuda Técnica con la Refactorización Continua
React Day Berlin 2022React Day Berlin 2022
29 min
Luchando contra la Deuda Técnica con la Refactorización Continua
Top Content
This Talk discusses the importance of refactoring in software development and engineering. It introduces a framework called the three pillars of refactoring: practices, inventory, and process. The Talk emphasizes the need for clear practices, understanding of technical debt, and a well-defined process for successful refactoring. It also highlights the importance of visibility, reward, and resilience in the refactoring process. The Talk concludes by discussing the role of ownership, management, and prioritization in managing technical debt and refactoring efforts.
Comunicación Efectiva para Ingenieros
TechLead Conference 2023TechLead Conference 2023
36 min
Comunicación Efectiva para Ingenieros
Top Content
Today's Talk covers the four building blocks of communication: people, message, context, and effective listening. It emphasizes the importance of considering the perspective of others and tailoring messages to the recipient. The Talk discusses different types and channels of communication, and the need to align them with the intended message. It also highlights the significance of soft skills in communication and provides techniques for effective communication and assessing soft skills in tech interviews. Cross-cultural communication and the impact of bluntness are explored as well.

Workshops on related topic

De Ingeniero a Líder: Un Masterclass para Líderes Tecnológicos Primerizos
TechLead Conference 2024TechLead Conference 2024
144 min
De Ingeniero a Líder: Un Masterclass para Líderes Tecnológicos Primerizos
Workshop
Andrew Murphy
Andrew Murphy
Transicionar de un rol de contribuidor individual a una posición de liderazgo, especialmente en la industria tecnológica de ritmo acelerado, es enormemente desafiante. La mayoría de los nuevos líderes no reciben ningún tipo de capacitación en los primeros 10 años de sus nuevas responsabilidades.Nuestro completo masterclass está diseñado para ayudar a los nuevos y emergentes líderes tecnológicos a comprender sus nuevos roles y adquirir las habilidades para convertirse en líderes seguros, felices y efectivos.
Node.js: Aterrizando tu primera contribución de código abierto y cómo funciona el proyecto Node.js
Node Congress 2023Node Congress 2023
85 min
Node.js: Aterrizando tu primera contribución de código abierto y cómo funciona el proyecto Node.js
Workshop
 Claudio Wunder
Claudio Wunder
Esta masterclass tiene como objetivo brindarte un módulo introductorio sobre los aspectos generales del código abierto. Sigue a Claudio Wunder de la Fundación OpenJS para que te guíe sobre cómo funciona el modelo de gobierno de Node.js, cómo se toman decisiones de alto nivel y cómo hacer tu primera contribución. Al final de la masterclass, tendrás una comprensión general de todos los tipos de trabajo que hace el proyecto Node.js (desde la clasificación de errores hasta decidir los próximos 10 años de Node.js) y cómo puedes formar parte del panorama más amplio del ecosistema JavaScript.

Las siguientes tecnologías y habilidades suaves podrían ser necesarias:
- Comprensión básica de Git e interfaz de GitHub
- Conocimiento de inglés profesional/intermedio para la comunicación y para permitirte contribuir a la organización Node.js (ya que todas las contribuciones requieren comunicación dentro de los problemas y solicitudes de GitHub)
- La masterclass requiere que tengas una computadora (de lo contrario, se vuelve difícil colaborar, pero las tabletas también están bien) con una configuración de IDE, y recomendamos VS Code y recomendamos la extensión GitHub Pull Requests & Issues para colaborar con problemas y solicitudes directamente desde el IDE.

Se cubrirán los siguientes temas durante la masterclass:
- Un repaso de algunas características de la interfaz de GitHub, como los proyectos de GitHub y los problemas de GitHub
- Repasaremos los conceptos básicos del código abierto y seguiremos la Guía de código abierto
- Repasaremos Markdown
- Cubriremos el gobierno del código abierto y cómo funciona el proyecto Node.js y hablaremos sobre la Fundación OpenJS
- Incluyendo todas las formas en que uno puede contribuir al proyecto Node.js y cómo se pueden valorar sus contribuciones
- Durante esta masterclass, cubriremos problemas de nodejs/nodejs.dev, ya que la mayoría de ellos son de nivel básico y no requieren conocimientos profundos de C++ o de Node.js.
- Dicho esto, aún recomendamos a los asistentes entusiastas que deseen desafiarse a sí mismos a los "Good First Issues" de nodejs/node (repositorio principal) si lo desean.
- Permitiremos a cada asistente elegir un problema o trabajar junto con otros asistentes para abordar problemas juntos mediante la función de Pair Programming a través de la característica de VS Code Live Share
- También podemos hacer salas de descanso en Zoom para las personas que deseen colaborar juntas
- Claudio estará allí para brindar apoyo a todos los asistentes y, por supuesto, responder cualquier pregunta sobre problemas y desafíos técnicos que puedan enfrentar
- Las tecnologías utilizadas en nodejs/nodejs.dev son React/JSX, Markdown, MDX y Gatsby. (No se necesita ningún conocimiento de Gatsby, ya que la mayoría de los problemas son agnósticos a la plataforma)
- Al final de la masterclass, recopilaremos todos los colaboradores que hayan abierto con éxito una solicitud de extracción (incluso si es un borrador) y reconoceremos su participación en las redes sociales.
Aporta Calidad y Seguridad al pipeline de CI/CD
DevOps.js Conf 2022DevOps.js Conf 2022
76 min
Aporta Calidad y Seguridad al pipeline de CI/CD
WorkshopFree
Elena Vilchik
Elena Vilchik
En esta masterclass repasaremos todos los aspectos y etapas al integrar tu proyecto en el ecosistema de Calidad y Seguridad del Código. Tomaremos una aplicación web simple como punto de partida y crearemos un pipeline de CI que active el monitoreo de calidad del código. Realizaremos un ciclo completo de desarrollo, comenzando desde la codificación en el IDE y abriendo una Pull Request, y te mostraré cómo puedes controlar la calidad en esas etapas. Al final de la masterclass, estarás listo para habilitar esta integración en tus propios proyectos.
Managers Are From Mars, Devs Are From Venus
TechLead Conference 2024TechLead Conference 2024
111 min
Managers Are From Mars, Devs Are From Venus
Workshop
Mo Khazali
Mo Khazali
Una Guía para Desarrolladores sobre Cómo Comunicar, Convencer y Colaborar Efectivamente con los Stakeholders
Es una historia tan antigua como el tiempo: la colaboración entre desarrolladores y stakeholders de negocios ha sido durante mucho tiempo un desafío, con una falta de comunicación clara que a menudo deja a ambas partes frustradas. Los mejores desarrolladores pueden comprender profundamente las necesidades de sus contrapartes de negocios, comunicar efectivamente la estrategia técnica sin perder a la audiencia no técnica y convencer al negocio de tomar las decisiones correctas. Trabajando en una consultoría, he fallado y tenido éxito en arquitectar y “vender” visiones técnicas, aprendiendo muchas lecciones en el camino.Ya sea que trabajes en una empresa de productos, seas consultor/freelancer, o quieras aventurarte más allá de ser solo un desarrollador, la capacidad de convencer y comunicar claramente con los stakeholders puede diferenciarte en la industria tecnológica. Esto se vuelve aún más importante con el auge de GenAI y el mercado de desarrolladores cada vez más competitivo, ya que la resolución de problemas y la comunicación efectiva son clave para posicionarte.En esta masterclass, compartiré ejemplos del mundo real, tanto buenos como malos, y te guiaré a través de poner la teoría en práctica mediante dojos.
Cómo Diseñar una Carrera Sostenible como Freelancer/Contratista
Node Congress 2022Node Congress 2022
39 min
Cómo Diseñar una Carrera Sostenible como Freelancer/Contratista
WorkshopFree
Shane Ketterman
Alexander Weekes
2 authors
¿Listo para comenzar tu carrera como freelancer o recién estás comenzando en tu viaje como freelance? Estás en el lugar correcto. Aprende los trucos del oficio de los freelancers más experimentados de la industria.
El movimiento de talento independiente es el futuro del trabajo. Si estás considerando dejar el empleo a tiempo completo para una carrera como freelancer, ahora es el momento de encontrar tu espacio exitoso en la fuerza laboral de talento independiente. Hoy en día, más personas trabajan como freelancers que nunca antes, y el mercado de freelancers contribuye con $1.2 billones a la economía de los Estados Unidos. Algunos de los roles más demandados para freelancers en este momento son desarrolladores senior con experiencia profesional en React, Python, Blockchain, QA y Node.js.
Este masterclass te ayudará a diseñar una carrera como freelancer/contratista sostenible y rentable a tiempo completo (o parcial). Te proporcionaremos herramientas, consejos, mejores prácticas y te ayudaremos a evitar errores comunes.
Diseñando una Carrera de Freelance Sostenible
React Advanced 2021React Advanced 2021
145 min
Diseñando una Carrera de Freelance Sostenible
WorkshopFree
Alexander Weekes
Rodrigo Donini
2 authors
¿Te gustaría perseguir tus pasiones y tener más control sobre tu carrera? ¿Te gustaría tener flexibilidad de horario y ubicación y variedad de proyectos? ¿Te gustaría tener la estabilidad de trabajar a tiempo completo y recibir un pago constante? Miles de empresas han adoptado el trabajo remoto y se dan cuenta de que tienen acceso a un grupo de talentos global. Esto es ventajoso para cualquier persona que haya considerado o esté considerando trabajar como freelance.>> Envía tu interés en convertirte en un ingeniero freelance con Toptal y recibir una llamada de un especialista en adquisición de talento <<

El trabajo freelance ya no es una elección de carrera inestable.

Este masterclass te ayudará a diseñar una carrera de freelance a tiempo completo (o parcial) sostenible y rentable. Te daremos herramientas, consejos, mejores prácticas y te ayudaremos a evitar errores comunes.
Tabla de contenidos

Módulo 1: Desmitificando los mitos comunes sobre el trabajo freelance
Módulo 2: ¿Cómo se ve el trabajo freelance en 2021 y más allá?
Módulo 3: Elecciones freelance y qué buscar (y qué evitar)
Módulo 4: Beneficios del trabajo freelance desde la perspectiva de un freelancer + estudio de caso
DESCANSO
Módulo 6: Cómo comenzar a trabajar como freelance (experiencia, currículum, preparación)
Módulo 7: Caminos comunes hacia el trabajo freelance a tiempo completo
Módulo 8: Aspectos esenciales: establecer tu tarifa y conseguir trabajo
Módulo 9: Próximos pasos: establecer contactos con colegas, mejorar tus habilidades, cambiar el mundo
Módulo 10: Preguntas y respuestas con freelancers