¿Como llevar orden estando las cosas avanzadas?

22 views
Skip to first unread message

Ernesto Cárdenas

unread,
Apr 28, 2011, 12:34:37 PM4/28/11
to AltNet-Hispano
Hola todos

En el momento actual se me ha encargado trabajar con un equipo de
desarrollo que esta haciendo una aplicacion web, ya hay alguna version
en produccion, pero aun tenemos sprints pendientes para
funcionalidades que van saliendo.

El problema es que a los problemas de comunicacion (que estoy tratando
de solucionar) hay un tema de organizacion del codigo bastante
peculiar.

Un mix de WebForms con MVP, el cual creo que no es tan critico, pero
es una referencia
Gruesas partes de la logica en SP, siendo estos invocados mediante
ADO.Net (no EntLib) o mediante LINQ2SQL, pero propiamente no se usa
LINQ sino la funcionalidad de L2S de importar dentro del modelo todos
los SP existentes.

Como consecuencia del mix la aplicacion se haria dificil de mantener
si en un futuro el equipo pasa a otras responsabilidades, asi que
parte de lo pedido es intentar poner orden a esto, refactorizar lo
posible.

Como idea preliminar se ha planteado desarrollar un modulo de pruebas
que invoque directamente a los SP a fin de validar las entradas y
salidas de estos, pero claro, el programar esa clase de pruebas
involucraria revisar los cambios de estado en la BD.

Otra sugerencia es hacer una migracion progresiva de WebForms a MVP,
pero en esto no hay tanta presion.

De mi parte estoy tratando de impulsar el uso de CodeAnalysis,
reduccion del numero de warnings, asi como StyleCop, esto dentro de un
plan para migrar de VS 2008 a VS 2010 asi como para usar TFS.

¿Sugerencias para los planes de refactorizacion?

Muchas gracias
Ernesto

David Lay

unread,
Apr 28, 2011, 2:38:44 PM4/28/11
to Grupo AltNet Hispano
Con MVP quieres decir ASPNet MVC o la implementacion de un patron MVP dentro de winforms?

Independiente de eso, mi recomendacion inicial es sacar la logica de los procedimientos a una capa de logica de neggocio, sin mayor diseño de software (procedural) y eso cubrelo de pruebas unitarias.
Luego puedes empezar a refactorizar tu código y hacer el diseño, pero al tener la lógica en procedimientos almacenados es el primer problema a resolver IMHO

David Lay M

Por favor disculpe faltas de ortografía o si el correo ha resultado muy brebe ya que he repondido desde mi movil.
--
Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a altnet-...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a altnet-hispan...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/altnet-hispano?hl=es.

Ernesto Cárdenas

unread,
Apr 28, 2011, 2:13:26 PM4/28/11
to AltNet-Hispano
Ni lo uno ni lo otro, es la implementacion de MVP sobre Web Forms, MVC
no se ha considerado.

Lo que propones es lo ideal, pero estamos hablando de varios SP de mas
de 150 lineas con unos cuantos de 300 lineas o mas, siendo que todavia
estamos en sprints esa clase de refactorizacion nos comeria el tiempo
de entregar funcionalidades, por lo que buscamos estrategias que si
bien ralenticen la velocidad de entrega de funcionalidades, no la
frenen del todo.

Gracias

Ernesto
> Para tener acceso a más opciones, visita el grupo enhttp://groups.google.com/group/altnet-hispano?hl=es.- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -

Walter Poch

unread,
Apr 28, 2011, 2:17:49 PM4/28/11
to altnet-hispano
Hacer los test contra la Base?, usando backups o Snapshots de la misma antes de ejecutarlos?
--
Saludos,

Walter G. Poch
Sr. .Net Developer
--------------------------------------------
Cell: +54 (9 341) 3353273
walte...@gmail.com

David Lay

unread,
Apr 28, 2011, 3:18:52 PM4/28/11
to Grupo AltNet Hispano
Puedes ir haciéndolo de uno a la vez. Es una gran deuda técnica la que tienes que pagar, pero lo puedes hacer por cuotas.

Otro punto importante de lo que comentabas que puedes ir atacando en paralelo es normalizar el acceso a datos a linq2sql, o bien migrar primero a vs2010 y usar de una entity framework 4 que es bastante mas flexible a mi gusto.

Lamentablemente el refactoring de estsa manera nunca es entretenido y sin pruebas unitarias vas a tener que hacer muchas pruebas manuales para asegurar que no se hayan introducido bugs.

Ernesto Cárdenas

unread,
Apr 28, 2011, 3:33:35 PM4/28/11
to AltNet-Hispano
Entre las alternativas para lograr esto se menciono usar la
funcionalidad de los proyectos de BD que tiene VS 2010 ¿Alguien tiene
una referencia de esto?

On 28 abr, 13:17, Walter Poch <walter.p...@gmail.com> wrote:
> Hacer los test contra la Base?, usando backups o Snapshots de la misma antes
> de ejecutarlos?
>
> El 28 de abril de 2011 15:13, Ernesto Cárdenas
> <ernesto.carde...@gmail.com>escribió:

David Lay

unread,
Apr 28, 2011, 5:51:25 PM4/28/11
to Grupo AltNet Hispano
Tienen facilidades para refactoring y unittest. Pueden servirte de hecho.

Si alguien en tu equipo entiende inglés revisa el primer webcast de esta serie:
http://bit.ly/hBKuqW


David Lay M

Por favor disculpe faltas de ortografía o si el correo ha resultado muy brebe ya que he repondido desde mi movil.

-----Original Message-----
From: Ernesto Cárdenas <ernesto....@gmail.com>
Sender: altnet-...@googlegroups.com
Date: Thu, 28 Apr 2011 12:33:35
To: AltNet-Hispano<altnet-...@googlegroups.com>
Reply-To: altnet-...@googlegroups.com
Subject: [altnet-hispano] Re: ¿Como llevar orden estando las
cosas avanzadas?

nelopa...@gmail.com

unread,
Apr 28, 2011, 4:55:13 PM4/28/11
to altnet-...@googlegroups.com
Yo empezaría por hacer tests de integración, que prueben la aplicación
como un conjunto, de esta manera "aseguraría" las funcionalidades
existentes,

¿tests de integración para todas las funcionalidades existentes? noo,
solo las que quiera estar seguro que no rompo al refactorizar, en
casos de aplicaciones web, lo único que he usado es WatiN para este
tipo de test, pero se que hay otros.

Paralelamente iría pensando a que arquitectura quiero llegar y una
serie de pasos para llegar de la situación actual a la deseada. Con
este objetivo claro y tests que me verifique la funcionalidad
existente empezaría a refactorizar, siempre que sea posible agregando
mas test.

¿donde usaría test unitarios? en las clases que son muy críticas y me
resulta mas fácil probarlas aisladas del resto de la aplicación, hacer
unit testing retrospectivo no le veo mucho sentido, y definitivamente
no es hacer TDD.

saludos.
nelo


2011/4/28 David Lay <davi...@gmail.com>:

Kiquenet

unread,
May 17, 2012, 4:03:50 PM5/17/12
to altnet-...@googlegroups.com
Finalmente, después de este tiempo puede adelantar las conclusiones de este proceso ??

Saludos y gracias

Ernesto Cárdenas

unread,
May 18, 2012, 2:56:38 PM5/18/12
to AltNet-Hispano
Lamentablemente no, pues ya no proseguí en dicho proyecto, pero
siempre me quedo la duda de que cosas podrían haberse hecho, conmigo
lo dejamos en el uso de VS 2010 para la gestion de la BD.
Reply all
Reply to author
Forward
0 new messages