Panel Discussion: Code Quality

This ad is not shown to multipass and full ticket holders
React Summit US
React Summit US 2026
November 17 - 20, 2026
New York, US & Online
Upcoming event
React Summit US 2026
React Summit US 2026
November 17 - 20, 2026. New York, US & Online
Bookmark
Rate this content
Sentry
Promoted
Code breaks, fix it faster

Crashes, slowdowns, regressions in prod. Seer by Sentry unifies traces, replays, errors, profiles to find root causes fast.

Get started
John Papa
John Papa
Angie Jones
Angie Jones
Jason Palmer
Jason Palmer
Anna Backs
Anna Backs
39 min
10 Jun, 2021

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Discusión sobre la calidad en proyectos de JavaScript con ideas de John Papa, Angie Jones y Jason Palmer. Perspectivas sobre cómo identificar y medir la calidad en el desarrollo de código, enfatizando la testabilidad y los principios de codificación limpia para mantener un código de alta calidad. Recomendaciones para evaluar la calidad del código a través de las 'siete D's', enfatizando el diseño, desarrollo, documentación, pruebas en condiciones adversas, demostraciones, implementación y procesos de revisión. Enfatizando la importancia de entender al usuario para cada prueba para evitar probar la implementación. Destacando la importancia de crear solicitudes de extracción separadas para características distintas para facilitar el proceso de revisión. Enfatizando la importancia de pruebas completas de CI, CD y en servidores de staging para una implementación de producción confiable. Abordando los desafíos al cambiar a una empresa con una cultura anti-calidad. Destacando la importancia de demostrar calidad a través de experiencias prácticas. Discutiendo el equilibrio entre calidad y objetivos comerciales, especialmente en entornos de startups. Discutiendo la importancia de reglas automatizadas para la consistencia del código y la integridad estructural. Incorporar refactorizaciones en el desarrollo de características, evitar ver la calidad del código como una tarea separada. Abogar por un ritmo sostenible en el desarrollo, priorizar la calidad y los esfuerzos de pruebas exhaustivas para garantizar una implementación de software confiable.
Available in English: Panel Discussion: Code Quality

1. Discussion on Quality in JavaScript Projects

Short description:

Discusión sobre la calidad en proyectos de JavaScript con ideas de John Papa, Angie Jones y Jason Palmer.

Gracias por tenerme. Soy Anna, y aquí conmigo hay tres personas increíbles para discutir la calidad. Tenemos a John Papa, quien es un desarrollador web y móvil profesional y actualmente trabaja como defensor de desarrolladores para Microsoft. También es muy activo en la comunidad de código abierto y también participa en el podcast Real Talk JavaScript. También tenemos a Angie Jones con nosotros, quien es una defensora principal de desarrolladores en ApliTools y se especializa en estrategias y técnicas de automatización de pruebas. También es una inventora muy creativa y es voluntaria en Black Girls Code. Por último, pero no menos importante, tenemos a Jason Palmer aquí con nosotros, quien es un contribuyente principal de Jest y el creador y mantenedor de JestJUnit. También es ingeniero y gerente de producto técnico en Spotify, donde se enfoca en infraestructura, CI, CD y automatización de pruebas. Matthew ya dijo que vamos a hablar sobre calidad. La calidad es, de hecho, un tema que se discute mucho, y donde muchas personas tienen muchas diferentes opiniones. Pero me gustaría comenzar y hablar sobre lo que realmente es la calidad. ¿Cuáles son los aspectos de la calidad que deberíamos considerar? Y me gustaría hacer una ronda, y tal vez comencemos con Jason.

Jason, ¿qué piensas que es realmente la calidad cuando se trata de proyectos de JavaScript? Creo que hay muchas maneras diferentes de verlo. Pero al final del día, si las personas fuera de tu equipo pueden contribuir fácilmente a tu software, y tienes confianza en que no se va a romper, y si puedes desplegar continuamente a producción, así que haces un commit en la rama principal, y eso puede ir directamente a producción, y tienes confianza en eso, sabes que has hecho un buen trabajo. Así que eso es al menos cuando sabes que has desarrollado algo de alta calidad. Sí, si puedes salir de la oficina el viernes por la tarde, solo empujar a prod poco antes y luego salir para el fin de semana, definitivamente es una buena sensación poder hacer eso.

Angie, ¿qué piensas? Sí, definitivamente estoy de acuerdo con eso. Creo que la clave aquí es, uno, que funcione. Eso es muy obvio. Pero que funcione para tus usuarios, ¿verdad?, no solo para tu propia máquina local y solo los diversos caminos más felices. Pero, sabes, funciona para tus usuarios, y una parte clave de lo que dijo Jason es que los miembros del equipo pueden contribuir a eso. Así que eso significa que podemos leerlo, podemos refactorizar si es necesario. Nadie tiene miedo de tocar ciertos módulos, y eso es cuando sabes que estás en mala forma, cuando es como, oh, no quiero tocar eso. Así que esas son las características que siento que tiene el código de calidad. Sí, definitivamente.

2. Insights on Code Quality and Testability

Short description:

Perspectivas sobre la identificación y medición de la calidad en el desarrollo de código, enfatizando la testabilidad y los principios de codificación limpia para mantener un código de alta calidad.

John, ¿cuál es tu opinión sobre la calidad? Primero, creo que las características, esa es la palabra clave, creo que Angie acaba de mencionarlo. Este es uno de esos temas donde es difícil describir la calidad del código, pero lo sabes cuando lo ves, y lo sabes absolutamente cuando no está presente. Así que es fácil detectar ese tipo de cosas, pero todo se reduce a lo que Jason y Angie dijeron, que se trata más de, ¿funciona? ¿Cumple con las necesidades del negocio? Y veo la viabilidad a largo plazo de un proyecto como un gran signo de calidad del código. Si el proyecto vive el tiempo que se supone que debe vivir, por ejemplo, una vez que se pone en marcha, todos sabemos que hay problemas y mantenimiento y cosas en las que trabajar, que es donde llegamos a las contribuciones de las que todos hablamos aquí. Eso tiene que ser algo que mantenga el proyecto en movimiento. La señal para mí de una calidad de código realmente mala es cuando la gente comienza a hablar de, wow, acabamos de desplegar esto, tenemos una actualización. Es demasiado difícil actualizarlo. Vamos a rehacerlo desde cero. Y eso sucede con demasiada frecuencia en el mundo empresarial. Y quiero decir que es realmente evidente sin siquiera mirar el código cuando es de mala calidad. Y creo que todos podemos atestiguar situaciones en las que hemos utilizado algún producto como usuarios finales y simplemente sabes que lo que hay debajo no es de calidad. Puedes verlo incluso desde el exterior. Sí, definitivamente. Puedes detectar fácilmente un código malo, pero ¿hay también una manera de detectar o medir un código de buena calidad? Estás asintiendo. Siéntete libre de elaborar sobre eso. Sí, hay muchos, ya sabes, principios de codificación limpia y cosas así, que están ahí afuera que nos dan dirección sobre cómo deberíamos desarrollar un buen código de calidad, ¿sabes? En cuanto a que, ya sabes, las cosas no sean demasiado grandes, o demasiado largas, o demasiado abstractas. Sabes, hay ciertos principios que he seguido a lo largo de mi carrera y eso típicamente ha llevado a un código de buena calidad. Otras maneras que creo es, ¿qué tan testeable es tu código? ¿Verdad? Y siento que ese es uno que se pasa por alto bastante, pero da mucha información cuando piensas en tu codificación desde ese ángulo. Ya sea que practiques TDD, que es desarrollo guiado por pruebas, o si pruebas tu código después de haberlo escrito, eso también está bien. Eso es legal. Pero qué tan testeable es tu código, es un muy buen indicador que he encontrado de cuán bien está escrito. Sí. 100% He tenido esta experiencia también. Estoy 100% de acuerdo en la testabilidad. Y llamadas de spam. Así que, estoy 100% de acuerdo en la testabilidad allí. Una cosa que realmente me gusta sobre la señal de calidad del código es cuando las cosas se vuelven testeables, escucho a mucha gente decir que no puedo escribir código que sea testeable. Y hago muchas sesiones de coaching con ellos y muchas veces preguntamos, ¿por qué? Como, ¿por qué no es testeable? Lo que realmente se reduce a menudo es que el código es, como mencionaste Angie, demasiado largo. ¿Qué es demasiado largo? Creo que eso es subjetivo. Pero cuando tu código está haciendo múltiples cosas, cuando una función, por ejemplo, está haciendo siete cosas y tienes toneladas de comentarios explicando qué hacen todos los ifs y thens y switches y bucles for, esa es una gran señal de que tal vez estas cosas deberían ser separadas porque entonces puedo probar cada cosa individual por su cuenta en lugar de preguntarme dónde en este largo viaje algo salió mal.

QnA

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

Panel Discussion: Future of React
React Summit US 2024React Summit US 2024
39 min
Panel Discussion: Future of React
Kent C. Dodds
Shruti Kapoor
Mark Erikson
Eli White
Mofei Zhang
Theo Browne
Tom Occhino
7 authors
We're going to be doing a future of React panel discussions. React 19 is in RC stage and we're excited to hear when it will be stable. The React compiler is here to stay and is the future of developer experience and tooling. React 19 brings exciting features like RSCs and consolidation of the framework. React's commitment to community and innovation is commendable. The React team values feedback and actively engages with the community. React's future includes supporting the community and enabling smooth migrations. There's a need to teach underlying concepts and educate AI systems. Teaching and adapting to React can be challenging. The React compiler changes default re-rendering behavior. Collaboration with Next.js and Vercel has been valuable for React's development. Appreciation for the community and partnerships with Vercel and Microsoft.
Debate del Panel de React 19
React Summit 2024React Summit 2024
27 min
Debate del Panel de React 19
Ryan Carniato
Evan Bacon
Sathya Gunasekaran
Tim Neutkens
Brooks Lybrand
5 authors
The Talk revolves around React 19 and the React compiler, highlighting its new APIs, optimizations, and impact on frameworks like Next.js. The React compiler has undergone multiple iterations, resulting in improved performance and alignment with developers' expectations. The integration of React with Next.js simplifies rendering and offers free optimizations. There is excitement about the opt-in approach of React Server Components and the potential of underrated features like suspense and transitions. Overall, React's influence on the JavaScript ecosystem and UI libraries is acknowledged and appreciated.
Charla junto al fuego con Kent C. Dodds
React Summit Remote Edition 2021React Summit Remote Edition 2021
31 min
Charla junto al fuego con Kent C. Dodds
Kent C. Dodds discusses various topics including migrating projects to TypeScript, Next.js and Remix, testing libraries, RTL testing with React Testing Library, integration testing for component libraries, testing design systems, writing tests, communication resources, and the popularity of Hooks in React development.
Escalando Rápido – Lecciones de Ingeniería de ~15 Años de Startups Tecnológicas
React Advanced 2024React Advanced 2024
27 min
Escalando Rápido – Lecciones de Ingeniería de ~15 Años de Startups Tecnológicas
Hey, we'll discuss scaling fast and engineering lessons learned in the last 15 years of tech startups. Scaling involves three things: business, team, and tech. Business scalability relies on sales and customer acquisition costs. Engineering is a tool the business uses. Scaling the team is vital as tech problems are often people problems. Team structure affects architecture and product development process. Organize teams based on purpose, not technology. Spend less time being blocked by other teams. Ship features without getting blocked. Own your own mess. Focus on product engineering partnership. Build faster using feedback cycles. Build appropriate solutions for your use case. Let go of ego and experiment with different approaches. Engineers own their own mess. Avoid work in progress. Finish the work and focus on fixing it later. Have a conversation before writing code. Scaling the tech is easier than you think. Pick an off the shelf design. Save innovation for core parts. Pick existing solutions. Focus on solving the problem. Don't waste time trying to predict future scale. Scale will surprise you. Do what works for your business. Push back on unnecessary complexity. Understand the cost of ideas. Modify the situation to fit existing design. Architecture is like a dependency graph on your code. Reduce architectural complexity by organizing code based on what it does. Use vertical models and avoid creating excessive dependencies. On the client, use vertical modules. On the back end, consider a service-oriented architecture. Start with a monolith and transition to microservices if necessary. Use folders instead of microservices when you have a small team. Use vertical models and contract or type-driven development to define clear APIs and interfaces. Avoid highly interconnected code and duplication. Focus on data structures to avoid complexity and the need for translation layers. Building translation layers can lead to slow user experience. Vertical teams aligned with vertical code allow for fast problem-solving, full control of features, and efficient data handling. Understanding the entire domain enables faster development with fewer bugs.
Cómo automatizar cambios de código para 100 repositorios: Introducción a los Codemods
React Day Berlin 2022React Day Berlin 2022
28 min
Cómo automatizar cambios de código para 100 repositorios: Introducción a los Codemods
This Talk discusses automating code changes for Android repositories, utilizing tools like JSCodeShift and Abstract Syntax Tree. The speaker shares a real use case example of maintaining a design system library and making changes to a component. The talk emphasizes the importance of automating repetitive tasks and using the power of abstract syntax tree for code changes. The Q&A session covers topics like source code formatting, TypeScript support, and cultural embedding of code mods. The talk concludes with insights on when automation is worth it and the limitations of code mods for monorepo changes.
Arquitectura de código de próxima generación para construir aplicaciones de Node mantenibles
Node Congress 2023Node Congress 2023
30 min
Arquitectura de código de próxima generación para construir aplicaciones de Node mantenibles
Today's Talk focused on code architecture, modularization, and scaling in software development. The speaker discussed the benefits of separating code by domain and using tools like NX to improve productivity and enforce modular architecture. They also highlighted the importance of automating library creation and configuration. Additionally, the Talk covered code scaling and deployment strategies, including caching and automated code migrations. The speaker emphasized the flexibility and scalability of Fastify and the advantages of using a monorepo for front-end and back-end development.

Workshops on related topic

Desarrollando Aplicaciones Listas para Producción en Colaboración con Agentes de AI
React Summit 2025React Summit 2025
102 min
Desarrollando Aplicaciones Listas para Producción en Colaboración con Agentes de AI
Featured Workshop
Alex Shershebnev
Alex Shershebnev
Los asistentes de codificación ya están cambiando la forma en que desarrollamos código, y en varios años se espera que cambien completamente cómo los desarrolladores interactúan con el código y lo escriben. En esta masterclass, compartiré consejos y mejores prácticas sobre el uso de tales herramientas mientras desarrollamos la aplicación lista para producción con Zencoder.
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
Workshop
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.