Ingeniería de software

11
Cuándo usar genéricos en el diseño de la interfaz

Tengo algunas interfaces que pretendo que terceros implementen en el futuro, y yo mismo proporciono una implementación básica. Solo usaré un par para mostrar el ejemplo. Actualmente, se definen como Articulo: public interface Item { String getId(); String getName(); } ItemStack: public...

11
Bucle Foreach e inicialización variable

¿Hay alguna diferencia entre estas dos versiones de código? foreach (var thing in things) { int i = thing.number; // code using 'i' // pay no attention to the uselessness of 'i' } int i; foreach (var thing in things) { i = thing.number; // code using 'i' } ¿O al compilador no le...

11
Enlace tardío orientado a objetos

En la definición de Alan Kays de orientado a objetos existe esta definición que parcialmente no entiendo: OOP para mí significa solo mensajes, retención local y protección y ocultación de procesos estatales, y LateBinding extremo de todas las cosas. Pero, ¿qué significa "LateBinding"? ¿Cómo...

11
Ruby: si variable vs si variable.nil?

Soy nuevo en Ruby y me sorprendí cuando descubrí que todos los objetos son verdaderos, aparte de nulo y falso. Incluso 0 es cierto. Lo bueno de esa propiedad del lenguaje es que puedes escribir: if !variable # do stuff when variable is nil end Mis colegas, que son desarrolladores más...

11
Entiendo lo que es un puntero de pila, pero ¿para qué se utiliza?

El puntero de la pila apunta a la parte superior de la pila, que almacena datos en lo que llamamos una base "LIFO". Para robar la analogía de otra persona, es como una pila de platos en los que pones y tomas platos en la parte superior. El puntero de la pila, OTOH, apunta al "plato" superior de la...

11
Solución alternativa para implementar operaciones en estructuras de datos doblemente vinculadas o circulares en idiomas con datos inmutables

Me gustaría aprender a hacer gráficos y realizar algunas operaciones locales en Haskell, pero la pregunta no es específica de Haskell, y en lugar de gráficos podemos considerar listas doblemente vinculadas. Pregunta: ¿Cuál sería una forma idiomática o recomendada de implementar una lista...

11
Migrar requisitos heredados a BDD

P: ¿Cuál es la mejor manera de trasladar una gran empresa a Cucumber con al menos 15 años de requisitos de software heredados mantenidos en una base de datos de requisitos? Actualmente considerando: 1) Migrar todo Desventaja: no tenemos tiempo / presupuesto ilimitados, tenemos que avanzar para...