Sistema facilmente modificable

24/02/2007 - 14:29 por Luisa | Informe spam
Hola

Es una pregunta algo generica porque he escuchado de algunos programadores
que los programas en C# por la estructura del lenguaje se vuelven muy
rigidos al momento de instalar modificaciones no previstas.

Que ideas se deben tener en mente para hacer un sistema windows en C# que
sea facil (o no muy costoso) de adaptar cuando surjan cambios o distintas
versiones del mismo programa?

Cualquier documentacion que me puedan sugerir.

Gracias

Luisa

Preguntas similare

Leer las respuestas

#6 RFOG
28/02/2007 - 13:00 | Informe spam
Hombre, tampoco creo que sea mucho más complejo:

try
{
TxtTotal.Text=(TxtUnidades.Text.ToDecimal()*TxtPrecio.Text.ToDecimal()).ToString();
}
catch(FormatException)
{
TxtTotal.Text="No es un numero valido";
}

Y si las preocupaciones sobre la rigidez del C# son esas a la hora de
cambiar las especificaciones de un programa... por decirlo de forma suave...
mejor no decirlo.

Por cierto, ¿por qué he usado decimal en lugar de otro tipo de números?




"Paco Ferre" escribió en el mensaje de noticias
news:
Hablando de la rigidez...

La falta de rigidez del Visual Basic 6.0 permite código como este:

TxtTotal.Text = TxtUnidades.Text * TxtPrecio.Text

¡Están multiplicando Strings!, y funciona... a veces... jeje. Pena que
no pueda agarrar por el pescuezo al que hizo esto. Porque obviamente
falla cuando la propiedad Text de cualquiera de los dos controles no
tiene un número válido.

O sea que nos dejen un C# "rígido" y así no tendremos que perder
tiempo corrigiendo errores estúpidos.

Saludos,

Paco

On 28 feb, 09:47, "Paco Ferre" wrote:
On 25 feb, 17:41, "Carlos" wrote:





> C# es rigido al ser fuertemente tipeado pero parece que la proxima
> version
> sera un poco mas flexible.
> Fuera de eso sin importar el lenguaje puedes implementar patrones en tu
> modelo, ejemplo el patron factoria abstracta de modo que partes
> completas
> puedan removerse sin mucha complicacion..
> Leete algo sobre patrones de disenio y tambien sobre programacion en
> capas.

> Carlos

> "Luisa" wrote in message

>news:

> > Hola

> > Es una pregunta algo generica porque he escuchado de algunos
> > programadores
> > que los programas en C# por la estructura del lenguaje se vuelven muy
> > rigidos al momento de instalar modificaciones no previstas.

> > Que ideas se deben tener en mente para hacer un sistema windows en C#
> > que
> > sea facil (o no muy costoso) de adaptar cuando surjan cambios o
> > distintas
> > versiones del mismo programa?

> > Cualquier documentacion que me puedan sugerir.

> > Gracias

> > Luisa- Ocultar texto de la cita -

> - Mostrar texto de la cita -

La rigidez de C# (y de cualquier otro lenguaje .NET ahora) en cuanto a
tipos es un mínimo exigible en cualquier lenguaje serio de
programación, que no cambien esto.
El famoso tipo Variant de Visual Basic 4, 5 y 6 (antes de .NET) se
convirtió en el "tipo-de-los-torpes".

Para responderte a esta pregunta:> > Que ideas se deben tener en mente
para hacer un sistema windows en C# que
> > sea facil (o no muy costoso) de adaptar cuando surjan cambios o
> > distintas
> > versiones del mismo programa?

La solución no es hacer que el lenguaje de programación sea menos
rígido.

Creo que las mismas directrices que podrían hacer un programa escrito
en Visual Basic 6.0 fácil de adaptar y modificar sirven para cualquier
otro lenguaje, hacerlo con ganas de que salga bien.
La ventaja es que en C++, C#, Visual Basic.NET... tienes Programación
Orientada a Objetos, sobre todo la herencia de objetos te puede ayudar
mucho, que es en lo que se basan los patrones de los que habla Carlos.

Saludos,

Paco- Ocultar texto de la cita -

- Mostrar texto de la cita -
Respuesta Responder a este mensaje
#7 Roberto M. Oliva
28/02/2007 - 13:38 | Informe spam
Que ideas se deben tener en mente para hacer un sistema windows en C# que
sea facil (o no muy costoso) de adaptar cuando surjan cambios o distintas
versiones del mismo programa?



Hola!
Mi consejo es seguir los principios de la programacion agil. Y, dentro
de ellos, el que veo mas util para poder hacer evolucionar un programa
(sea del lenguage/plataforma/etc que sea) si surgen cambios es el TDD
(Test Driven Development).
Consiste en implementar los testeos a la vez que se programa, mas
bien, antes:
- Se va a implementar una funcionalidad.
- Se definen que testeos aseguran que dicha funcionalidad se cumple.
- Se programan los testeos
- Se programa la funcionalidad rapidamente hasta que cumpla los
testeos
- Se refactoriza la funcionalidad, pasando siempre los testeos.

Esto que parece programar el doble, al final hace que se puedan meter
funcionalidades adicionales sin ningun miedo a romper las
funcionalidades existentes. Los testeos nos van a decir que antiguas
funcionalidades se rompen, con lo cual facilita la correccion de las
mismas. A la larga se pierde el miedo a meter nuevas cosas al programa
y se gana en seguridad de que se va a entregar al cliente un software
fiable. Esto, a la larga, redunda en ganancia de tiempo... y mucha!

Espero que te ayude
Un saludo

Roberto M. Oliva
Respuesta Responder a este mensaje
#8 Alfredo Novoa
28/02/2007 - 14:09 | Informe spam
Hola

On Sat, 24 Feb 2007 09:29:18 -0400, "Luisa" wrote:

Es una pregunta algo generica porque he escuchado de algunos programadores
que los programas en C# por la estructura del lenguaje se vuelven muy
rigidos al momento de instalar modificaciones no previstas.



Depende de con que lo compares. Cuanto de más alto nivel sea un
lenguaje más fácil será el mantenimiento.

Que ideas se deben tener en mente para hacer un sistema windows en C# que
sea facil (o no muy costoso) de adaptar cuando surjan cambios o distintas
versiones del mismo programa?



Sobre todo escribir la menor cantidad de código que sea posible. Nada
de cortar y pegar, ni gestionar bases de datos desde las aplicaciones,
ni incrustar datos dentro del código, etc. Si puedes implementar algo
usando herramientas de más alto nivel no lo hagas en C#.

Lo que te recomiendan los demás sobre patrones también está bien.
Algunos te pueden servir para rodear limitaciones del lenguaje.


Saludos
Alfredo
Respuesta Responder a este mensaje
#9 JM
28/02/2007 - 20:36 | Informe spam
a mi me parece, con todo respeto que sigues mosqueado con el double :)

"RFOG" escribió en el mensaje
news:
Hombre, tampoco creo que sea mucho más complejo:

try
{

TxtTotal.Text=(TxtUnidades.Text.ToDecimal()*TxtPrecio.Text.ToDecimal()).ToString();
}
catch(FormatException)
{
TxtTotal.Text="No es un numero valido";
}

Y si las preocupaciones sobre la rigidez del C# son esas a la hora de
cambiar las especificaciones de un programa... por decirlo de forma
suave... mejor no decirlo.

Por cierto, ¿por qué he usado decimal en lugar de otro tipo de números?




"Paco Ferre" escribió en el mensaje de noticias
news:
Hablando de la rigidez...

La falta de rigidez del Visual Basic 6.0 permite código como este:

TxtTotal.Text = TxtUnidades.Text * TxtPrecio.Text

¡Están multiplicando Strings!, y funciona... a veces... jeje. Pena que
no pueda agarrar por el pescuezo al que hizo esto. Porque obviamente
falla cuando la propiedad Text de cualquiera de los dos controles no
tiene un número válido.

O sea que nos dejen un C# "rígido" y así no tendremos que perder
tiempo corrigiendo errores estúpidos.

Saludos,

Paco

On 28 feb, 09:47, "Paco Ferre" wrote:
On 25 feb, 17:41, "Carlos" wrote:





> C# es rigido al ser fuertemente tipeado pero parece que la proxima
> version
> sera un poco mas flexible.
> Fuera de eso sin importar el lenguaje puedes implementar patrones en tu
> modelo, ejemplo el patron factoria abstracta de modo que partes
> completas
> puedan removerse sin mucha complicacion..
> Leete algo sobre patrones de disenio y tambien sobre programacion en
> capas.

> Carlos

> "Luisa" wrote in message

>news:

> > Hola

> > Es una pregunta algo generica porque he escuchado de algunos
> > programadores
> > que los programas en C# por la estructura del lenguaje se vuelven muy
> > rigidos al momento de instalar modificaciones no previstas.

> > Que ideas se deben tener en mente para hacer un sistema windows en C#
> > que
> > sea facil (o no muy costoso) de adaptar cuando surjan cambios o
> > distintas
> > versiones del mismo programa?

> > Cualquier documentacion que me puedan sugerir.

> > Gracias

> > Luisa- Ocultar texto de la cita -

> - Mostrar texto de la cita -

La rigidez de C# (y de cualquier otro lenguaje .NET ahora) en cuanto a
tipos es un mínimo exigible en cualquier lenguaje serio de
programación, que no cambien esto.
El famoso tipo Variant de Visual Basic 4, 5 y 6 (antes de .NET) se
convirtió en el "tipo-de-los-torpes".

Para responderte a esta pregunta:> > Que ideas se deben tener en mente
para hacer un sistema windows en C# que
> > sea facil (o no muy costoso) de adaptar cuando surjan cambios o
> > distintas
> > versiones del mismo programa?

La solución no es hacer que el lenguaje de programación sea menos
rígido.

Creo que las mismas directrices que podrían hacer un programa escrito
en Visual Basic 6.0 fácil de adaptar y modificar sirven para cualquier
otro lenguaje, hacerlo con ganas de que salga bien.
La ventaja es que en C++, C#, Visual Basic.NET... tienes Programación
Orientada a Objetos, sobre todo la herencia de objetos te puede ayudar
mucho, que es en lo que se basan los patrones de los que habla Carlos.

Saludos,

Paco- Ocultar texto de la cita -

- Mostrar texto de la cita -




Respuesta Responder a este mensaje
#10 RFOG
28/02/2007 - 20:50 | Informe spam
xDDDDDDDDDDDDDDDD.

No soy yo el del double (supongo que te referirás a algunos comentarios de
mi blog de geeks), pero lo he hecho así por el tema de los redondeos y demás
en cosas que tienen que ver con pasta. El tema no es trivial si las
cantidades son grandes, te lo puedo asegurar.

Los double y los float no son precisos, son aproximaciones en coma flotante,
etc, etc.


"JM" escribió en el mensaje de noticias
news:
a mi me parece, con todo respeto que sigues mosqueado con el double :)

"RFOG" escribió en el mensaje
news:
Hombre, tampoco creo que sea mucho más complejo:

try
{

TxtTotal.Text=(TxtUnidades.Text.ToDecimal()*TxtPrecio.Text.ToDecimal()).ToString();
}
catch(FormatException)
{
TxtTotal.Text="No es un numero valido";
}

Y si las preocupaciones sobre la rigidez del C# son esas a la hora de
cambiar las especificaciones de un programa... por decirlo de forma
suave... mejor no decirlo.

Por cierto, ¿por qué he usado decimal en lugar de otro tipo de números?




"Paco Ferre" escribió en el mensaje de noticias
news:
Hablando de la rigidez...

La falta de rigidez del Visual Basic 6.0 permite código como este:

TxtTotal.Text = TxtUnidades.Text * TxtPrecio.Text

¡Están multiplicando Strings!, y funciona... a veces... jeje. Pena que
no pueda agarrar por el pescuezo al que hizo esto. Porque obviamente
falla cuando la propiedad Text de cualquiera de los dos controles no
tiene un número válido.

O sea que nos dejen un C# "rígido" y así no tendremos que perder
tiempo corrigiendo errores estúpidos.

Saludos,

Paco

On 28 feb, 09:47, "Paco Ferre" wrote:
On 25 feb, 17:41, "Carlos" wrote:





> C# es rigido al ser fuertemente tipeado pero parece que la proxima
> version
> sera un poco mas flexible.
> Fuera de eso sin importar el lenguaje puedes implementar patrones en
> tu
> modelo, ejemplo el patron factoria abstracta de modo que partes
> completas
> puedan removerse sin mucha complicacion..
> Leete algo sobre patrones de disenio y tambien sobre programacion en
> capas.

> Carlos

> "Luisa" wrote in message

>news:

> > Hola

> > Es una pregunta algo generica porque he escuchado de algunos
> > programadores
> > que los programas en C# por la estructura del lenguaje se vuelven
> > muy
> > rigidos al momento de instalar modificaciones no previstas.

> > Que ideas se deben tener en mente para hacer un sistema windows en
> > C# que
> > sea facil (o no muy costoso) de adaptar cuando surjan cambios o
> > distintas
> > versiones del mismo programa?

> > Cualquier documentacion que me puedan sugerir.

> > Gracias

> > Luisa- Ocultar texto de la cita -

> - Mostrar texto de la cita -

La rigidez de C# (y de cualquier otro lenguaje .NET ahora) en cuanto a
tipos es un mínimo exigible en cualquier lenguaje serio de
programación, que no cambien esto.
El famoso tipo Variant de Visual Basic 4, 5 y 6 (antes de .NET) se
convirtió en el "tipo-de-los-torpes".

Para responderte a esta pregunta:> > Que ideas se deben tener en mente
para hacer un sistema windows en C# que
> > sea facil (o no muy costoso) de adaptar cuando surjan cambios o
> > distintas
> > versiones del mismo programa?

La solución no es hacer que el lenguaje de programación sea menos
rígido.

Creo que las mismas directrices que podrían hacer un programa escrito
en Visual Basic 6.0 fácil de adaptar y modificar sirven para cualquier
otro lenguaje, hacerlo con ganas de que salga bien.
La ventaja es que en C++, C#, Visual Basic.NET... tienes Programación
Orientada a Objetos, sobre todo la herencia de objetos te puede ayudar
mucho, que es en lo que se basan los patrones de los que habla Carlos.

Saludos,

Paco- Ocultar texto de la cita -

- Mostrar texto de la cita -








Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida