Complementos TDD / Agile / Source Control recomendados para Visual Studio 2008

Estoy buscando un set de buenos complementos para usar al desarrollar software. Actualmente estoy haciendo solo un proyecto en el que experimento simultáneamente con TDD mientras realizo el proyecto. Recientemente, he sido muy publicitado sobre los processs de Agiles y me pregunto cómo puedo integrar aún más las herramientas que me ayudarán en mi tarea de completar el proyecto y aprender TDD. Además, estoy buscando la integración con SVN u otros repositorys de control de fuente de la versión. También me gustaría include información de la versión en la compilation ya que publicaré los hitos de la versión públicamente, para recibir comentarios. Es mi deseo finalmente aprender a crear un software robusto y sostenible, y dar un salto fuera del mundo de la encoding de vaquero en el que me he mantenido por mucho time.

Al principio, soy un poco cativo acerca de get demasiados complementos, porque creo que eso puede causar más daño que beneficio si me pierdo o no los utilizo como estaba previsto. Algunos de los que me vienen a la mente son Style Cop / Fx Cop para mantener estándares de encoding, Visual SVN para integración SVN, Testdriven con NUnit (y posiblemente Moq, pero eso es solo porque no he examinado la biblioteca de burlas de NUnits). Todavía no he probado herramientas como el reafilamiento, pero estoy considerando probarlo, ya que he escuchado muchas cosas buenas al respecto.

Estoy codificando exclusivamente en C #, escribiendo una biblioteca de classs para usar en Unity3D, un motor de juegos gratuito con soporte para .NET 2.0. Sin embargo, las testings en sí pueden ser cualquier versión .NET que admita mi installation. He escuchado algo sobre las testings automáticas que provocarán que falle un compromiso, y estoy entusiasmado con que mis pies se sumerjan en esto tan pronto como pueda, ya que creo que eso me empujará a aprender TDD mejor.

Si conoce algún otro complemento que se adapte a mis necesidades, o si cree que debería elegir uno sobre otro, hágamelo saber.

Como soy bastante nuevo en complementos, no me importaría si pudieras motivar por qué y cuándo usarlos. Estoy muy emocionado de tener un buen ambiente para perfeccionar mis habilidades.

Gracias por tomarse su time para leer esto. Espero que tengas algo para agregar 🙂

Editar

Me doy count ahora de algunos juegos con Style Cop que podría no ser el complemento más adecuado para TDD y enfoques ágiles con su configuration pnetworkingeterminada. Si bien creo que el código que produzco tiene un alto nivel de uso, creo que muchas de las reglas (como la estricta documentation) son less que ágiles, ya que tiene que pagar por eso por adelantado. En TDD, las testings mismas sirven como documentation y especificación. Pensando ágilmente, no debes hacer lo que no necesitas hacer.

En mi caso específico, no necesito documentation adicional porque esta biblioteca no está pensada para ser compartida entre otros desarrolladores. Sin embargo, podría hacerlo en el futuro, y luego aterrizaríamos en otro parque de béisbol. Tengo un poco de dudas sobre anular estas reglas. Supongo que, por un lado, quiero un código limpio y sólido para practicar "buena encoding", por otro lado, quiero networkingucir un poco más el TDD, y al final quiero valor de producción.

Quería publicar mi opinión sobre el uso de Style Cop con la configuration pnetworkingeterminada en caso de que un nuevo desarrollador lea el artículo original y ciegamente decida usarlo porque se mencionó aquí, solo para encontrarlo más engorroso que valioso. Creo que la key es comprender sus necesidades e identificar si cierta característica contribuye a sus valores de producción.

Prueba Driven.NET

Incluye una versión gratuita para desarrollo personal. Un plugin simple y agradable, no costoso en términos de uso de memory, o el time que necesita dedicar a aprender realmente cómo usarlo.

Para el desarrollo impulsado por testing, ejecutar las testings internamente del IDE es imprescindible. Se sorprendería de cuánto time ahorra al no tener que cambiar a un cornetworkingor externo para cada testing que desea ejecutar.

He escuchado algo sobre las testings automáticas que provocarán que falle un compromiso

Verifique la automation de compilation : MSBuild o NAnt, por nombrar algunos. Esencialmente, a less que el process de compilation sea exitoso, no comprometerá su código con su repository. Por ejemplo, si ha roto algún código, el process de compilation fallará. Si pasó, puedes confirmar tu código de forma segura.

Para los usuarios de .NET, MSBuild (Visual Studio lo usa internamente) sería un buen comienzo. Visite el sitio oficial en MSDN y realice algunas búsquedas para get más artículos sobre por qué la automation de comstackciones es una buena idea.

Otras herramientas

Su pregunta es sobre el uso de FxCop, StyleCop, etc. En lugar de ejecutarlos externamente, puede vincularlos como parte del process de compilation. Esto requerirá un poco de esfuerzo de configuration, pero el time ahorrado al usarlos e incrustarlos en el process de compilation es enorme. En una nota lateral, su código mejorará al usar estos independientemente de cuándo los use.

Resharper gratis

Resharper es costoso para el desarrollo personal. Si su empresa lo proporciona, utilícelo. ¿Podría justificar comprarlo para desarrollo personal? Ninguna posibilidad. En cambio, revisa CodeRush Express . Es similar, y tiene less memory que Resharper. Me parece que no bloquea constantemente Visual Studio. Además, algunas de sus características son bastante buenas.

Suenas muy ocupado con los complementos y las herramientas, y por supuesto las herramientas pueden ser de gran ayuda, pero me centraré en las cosas reales que deseas aprender, en lugar de herramientas y frameworks.

Lo que definitivamente necesitas es:

  • SVN (TortoiseSVN está bien)
  • Testdriven.Net para ejecutar tus testings
  • Teamcity o equivalente para hacer una continuous integration

Lo que no necesita todavía son todo tipo de complementos y frameworks para mejorar estos conceptos básicos. Concéntrese en el TDD y la "historia de la compilation", y tal vez en la gestión de lanzamientos, y mientras aprende esto, descubrirá qué necesidades tiene para las herramientas.

Creo que los pluggins que te interesan están bien.

Resharper es agradable y poderoso, pero requiere mucha memory.

Como han dicho otros, TestDriven .Net es casi obligatorio. Le permite ejecutar sus testings desde el VS IDE. Funciona bien si sus testings están en NUnit.

Y, por último, recomendaría NCover para realizar un seguimiento de la cobertura de su testing. Tiene una versión de comunidad y se puede ejecutar desde el IDE con TestDriven .Net también.

Y, por supuesto, nAnt y / o MSBuild para comstackciones automáticas. Yo recomendaría nAnt mejor.

Espero eso ayude

Es posible que desee examinar NDepend , que le ayuda a analizar su código base y mantenerlo limpio. (De lo contrario, me segundo consejo para TestDriven.Net y ReSharper).