Quiero aprender TDD, refactorización y patrones de diseño. ¿Cómo encuentro proyectos de código abierto que utilicen estas técnicas y paradigmas?

Para encontrar proyectos de código abierto que sean en vivo y de alta calidad, podría hacer peor que mirar lo que hacen JBoss y Red Hat. Tienen un montón de proyectos notables de código abierto que puedes convertir fácilmente en un observador silencioso. Al igual que todos los de código abierto, también buscan colaboradores. Utilice las reuniones relacionadas con ellos para conocer los proyectos.

Spring tiene muchas pruebas unitarias que son livianas, por lo que deberían ser fáciles de verificar, aunque no puedo decir que las haya observado o realmente haya profundizado en ellas.

Finalmente, Git. Todos lo están usando ahora, independientemente de la tecnología (Java o JavaScript). Búscate un proyecto, échale un vistazo a tu dispositivo local o simplemente navega por la fuente en línea usando herramientas basadas en la web como bit bucket y git hub. El lenguaje será irrelevante en el tiempo, solo vea qué pruebas han hecho e intente evaluar lo que vieron como importante.

Más lejos

Además de encontrar código, bibliotecas y proyectos; Aunque no es tan popular y no es una solución en sí misma, recomiendo, entre otras cosas, referirse a libros y blogs influyentes sobre esos temas. Pueden darle una idea y guía para encontrar proyectos.

Los ejercicios de Kata también son buenos para los patrones de aprendizaje y hay muchas comunidades alrededor de esto en línea. Las comunidades de Ruby y Python son fuertes en esta área. A menudo, estos también se comprometen con Git para que pueda consultar los proyectos de las personas en línea.

Intente acceder a esos proyectos ya que el código abierto siempre puede beneficiarse del soporte.

Esta es una gran pregunta y una maravillosa manera de aprender.

En mi opinión, debe elegir un proyecto de código abierto al que le gustaría usar \ contribuir, independientemente de los objetivos de aprendizaje específicos que mencionó. Debe ser algo por lo que sientas cierto nivel de pasión.

Probablemente debería estar usando las tecnologías generales que le interesan, pero no elija una simplemente porque tiene una buena cobertura de prueba.

Puede tomar cualquier proyecto y comenzar a tratar de envolver una parte con pruebas. Para hacer esto, pronto tendría que comenzar a refactorizar. Con el tiempo, es posible que veas patrones de diseño emergentes. Esta sería una gran experiencia para unirse a un equipo que tiene un sistema “heredado”.

Otra opción sería elegir una nueva función e intentar implementarla con TDD.

Una vez más, elija un proyecto de código abierto que le atraiga personalmente o puede perder interés.

Advertencia: no fuerce la alimentación de su sistema con un patrón de diseño. Si es un ajuste natural, entonces genial, pero si está haciendo las cosas más complicadas, es posible que deba retroceder.

Recomiendo leer sobre principios de diseño SÓLIDOS, si aún no lo ha hecho. Encuentro principios como “rol único de responsabilidad” que son de gran valor y orientación cuando se refactoriza.

¿Por qué no echar un vistazo a JUnit?

junit-team / junit

Ha existido durante mucho tiempo, y fue TDD’d, y tiene patrones de refactorización y diseño.

En realidad, esta es mi respuesta para ir a esta pregunta: si desea ver TDD en Open Source, mire los marcos en sí.

http://paytonrules.com/software-…