2008-09-17 9 views
5

Estoy reconstruyendo nuestra aplicación web mal diseñada desde cero, y quería entrar en TDD y básicamente "hacer las cosas bien" como una especie de proyecto de aprendizaje. ¿Qué herramientas, procesos y recursos se recomiendan para hacerlo "bien" desde el principio? Trabajaré solo como arquitecto y desarrollador, con la copia de seguridad de un analista de negocios y propietarios de negocios para pruebas de usabilidad y casos de uso.¿Cuál es el mejor proceso para una nueva aplicación web ASP.NET desde cero?

EDITAR: En este momento usamos SourceSafe para el control de código fuente, ¿hay alguna razón tecnológicamente por la que desee intentar que cambiemos a subversión?

editar # 2: Parece que el consenso es: Cruise Control.NET Subversion (si quiero dejar de usar SourceSafe) ASP.NET MVC NUnit para las pruebas unitarias ReSharper

Respuesta

5

recomiendo encarecidamente que eche un vistazo a MVC for ASP.NET si desea que las pruebas unitarias sean una alta prioridad en su proceso de desarrollo. Parece que es perfecto para lo que estás tratando de hacer.

También recomendaría CruiseControl.NET para la integración continua (esto es importante si su equipo va a crecer).

Subversion es mi sistema de control de fuente favorito cuando trabajo en equipos pequeños. Use Tortoise SVN para la integración de Windows Explorer.

1

Estamos utilizando una configuración con Visual Studio 2008, Resharper 4.1, Subversion para control de fuente, control de velocidad para compilaciones automáticas y la construcción en pruebas unitarias para todas nuestras pruebas automatizadas. y Linq2Sql para o mapeo. Podrías cambiar cualquier cosa menos VS (obviamente) y reafilar (es genial) pero podrías usar fácilmente otro control de fuente, mapeador o herramienta de prueba de la unidad.

1

Estas son algunas herramientas que pueden hacer que sea más fácil y más seguro para trabajar (buscar en Google los nombres traerá a las páginas correspondientes):

Subversion - control Fuente
NUnit - marco de pruebas
CruiseControl.Net - automatizado compila

1

Visual Source safe tiene una política de bloqueo estricta para que solo una persona pueda trabajar en un archivo a la vez ... CVS o subversión permite que varios usuarios trabajen en el mismo archivo al mismo tiempo.

+0

Entonces, si estoy trabajando solo no es un gran problema, pero sería cuando me contratan a un nuevo desarrollador para que trabaje con/conmigo ¿no? –

+0

Hay muchos equipos grandes que usan SourceSafe. Si los miembros de su equipo trabajan en diferentes componentes del sistema donde rara vez se superponen, no será un gran problema. Puede quedarse con eso hasta que sea un problema, luego realice el cambio. Mi preferencia personal es SVN sin embargo. – JasonS

+0

Hay una opción Permitir múltiples salidas en SourceSafe –

1

Todas las sugerencias aquí son buenas, pero no hay una solución mágica. Tendrá que ver qué tan grande es su aplicación, cuántos usuarios, cómo se implementa, etc. para realizar su arquitectura, proceso, conjunto de herramientas y otras decisiones. TDD, por ejemplo, es una buena metodología, pero no la única buena metodología para "hacer las cosas bien". Otro, CruiseControl es increíble, pero en un solo proyecto de desarrollador, es probable que sea excesivo.

Sea consistente en lo que sea que haga es mi mejor sugerencia - si usa TDD, VAYA CON TDD si sabe a qué me refiero.

+0

Sé que no hay una "solución mágica", lo que estoy buscando aquí son algunas sugerencias de otros para lo que les ha servido bien en el pasado. Planeo tomar estas GRANDES sugerencias y sentarme y hacer un montón de investigaciones y diseñando la mejor estrategia para mí y para mi proyecto. –

+0

"Otro, CruiseControl es increíble, pero en un único proyecto de desarrollador, es probable que sea excesivo". No me importa un poco excederse ya que espero que mi equipo crezca en el futuro y me gustaría usar estas herramientas de forma continua, no solo para "hacer el trabajo y seguir adelante". –

2

una respuesta a su pregunta de control de origen ...

El rediseño de una aplicación desde cero, probablemente será un proyecto que consume tiempo, no perdería tiempo en cambios de control de origen a menos que ya sabe exactamente cuál usarás y tendrás experiencia en configurarlo.

Visual SourceSafe hace el trabajo, especialmente en un esfuerzo de 1 persona, y ya está en su lugar, de modo que corra con él.

0

Si recién está empezando, cambiaría lo menos posible (especialmente porque es el único desarrollador), así que quédese con Sourcesafe. No hay absolutamente nada de malo en eso en su situación.

Más adelante en la línea, puede mirar hacia el sistema de equipo de MS, o tal vez ir a otras herramientas de terceros.

Personalmente, no soy partidario de Subversion, pero reconozco que es una herramienta popular en toda la industria.

En cuanto al software específico de TDD, no puedo ofrecer ningún consejo. ¿Tiene herramientas preferidas para UML o los métodos formales que está utilizando?

+0

En este momento no tenemos métodos formales, y eso es parte del problema. Fue un tipo de ideal para "solo hacer que funcione" antes de llegar aquí. El desarrollador que escribió la mayor parte de la aplicación que estoy reescribiendo ya no está con la empresa y me da pena mirar cómo diseñó esta aplicación. –

0

Una cosa que debes mencionar: sé 100% seguro de que entiendes qué está haciendo el programa y qué se supone que debe hacer, antes de realizar cambios. Un "malo" softwer a menudo resulta ser "no tan malo" después de entender toda la situación.

SourceSafe puede ser aceptable, especialmente para una persona, pero cuando no habrá más y más PPL en el equipo, el modelo de bloqueo puede ser molesto, pero por el momento de ser: se pega con él

+0

Oh, ENTIENDO COMPLETAMENTE lo que se supone que debe hacer, y lo que hace actualmente. Ayudé a terminar el proyecto cuando comencé y lo he estado manteniendo desde entonces. Fue escrito en asp.net como si todavía estuvieras usando asp clásico. –

+0

¡Esto comenzó como 15 controles de usuario que se cargaron en la misma página y se intercambiaron para ser visibles mientras el usuario navegaba! También tenía varias páginas aspx que usaban los mismos archivos de código subyacente y llamaba selectivamente a los métodos según la página que estaba usando actualmente el archivo, solo mucha locura como esa. –

1

Nosotros re-escribió nuestro sitio web como lo está haciendo y estamos usando C# con MVC. Es genial. Usamos SourceSafe de Microsoft para controlar nuestro código y funciona increíble. Como usted es el único desarrollador, dependerá de lo que quiera.

El sourcesafe de Microsoft nos permite crear una rama que podemos trabajar puede mantener bajo control de origen, y podemos cambiar entre ambos fácilmente. (Realmente no he utilizado la subversión a mucho, así que no puedo comentar al respecto.)

Usamos NUnit para probar/simular nuestro código. Es super fácil burlarse de ellos. Creamos una clase que guardará y leerá los objetos.

La función de guardar: Stream stream = File.Open (simplePath, FileMode.OpenOrCreate); BinaryFormatter bwriter = new BinaryFormatter(); bwriter.Serialize (transmisión, real);

La función de lectura: Stream stream = File.Open (simplePath, FileMode.Open, FileAccess.Read, FileShare.Read); BinaryFormatter bwriter = new BinaryFormatter(); object returnObject = bwriter.Deserialize (stream);

Hemos usado NUnit para simular xml y SQL.

Buena suerte

1

Si estás a punto de establecer un nuevo ejemplo de la subversión y la integración continua, a partir de un fondo verde de VSS, estos dos paquetes libres probablemente ahorrará días (o semanas) de tiempo:

  • Visual SVN Server Permite configurar todo lo necesario para un servidor de la subversión, incluyendo autenticación de Windows AD y una interfaz gráfica de usuario de administración. Gratis, puede considerar el soporte de su excelente complemento VisualSVN VS para la integración de control de código fuente en Visual Studio.Como alternativa, puede mirar a AnkhSVN

  • TeamCity Un paquete de integración continua (alternativa a CruiseControl.NET) de JetBrains (fabricantes de ReSharper, una herramienta fantástica, como se ha mencionado) que es gratuito para la versión profesional (hasta 20 usuarios y 3 servidores de compilación).

Estos dos paquetes son algunos de los más fáciles instala alrededor, desafiando VSS sí :-)

Usando SVN puede tomar un poco de ajuste; pero con el excelente doco para cualquier cliente que elijas (AnkSVN, VisualSVN, TortoiseSVN, o alguna combinación), estarás bien.

Además, ya sabes dónde encontrar gente dispuesta a responder a cualquier pregunta que pueda tener a cambio de Rep ;-)

1

Salida TypeMock o Rhino Mocks. Burlarse puede ahorrarte tanto tiempo y dolor cuando pruebas unidades de una aplicación web.

Cuestiones relacionadas