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



Crashes, slowdowns, regressions in prod. Seer by Sentry unifies traces, replays, errors, profiles to find root causes fast.
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.
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.
We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career
Comments