Ingeniería de software

13
¿Se puede aplicar la metodología TDD de arriba a abajo?

No estoy claro cómo TDD, la metodología, maneja el siguiente caso. Supongamos que quiero implementar el algoritmo mergesort, en Python. Empiezo escribiendo assert mergesort([]) === [] y la prueba falla con NameError: el nombre 'mergesort' no está definido Luego agrego def mergesort(a):...

13
¿Es la "interfaz estática" una buena práctica?

Recientemente me di cuenta de que hay una opción para tener métodos estáticos en las interfaces. Al igual que con los campos estáticos de interfaz, hay un comportamiento interesante: estos no se heredan. No estoy seguro de que sea útil en las interfaces reales que se implementarán. Sin embargo,...

13
El equipo Scrum no sigue el principio YAGNI

En una reunión SCRUM, el equipo de producto estaba debatiendo sobre una característica en una API que será consumida por la aplicación móvil. Tuvimos una maqueta que mostraba cómo debería verse la pantalla y qué elementos clave debería contener (un "diseño"). Basado en esto y en la discusión que...

13
Diseño de microservicio multiempresa

Estamos en el proceso de migrar una aplicación monolítica a la arquitectura de microservicios. Debido a algunos requisitos reglamentarios, tenemos que mantener los datos del cliente de diferentes países en bases de datos separadas (específicas del país). Es decir, db de EE. UU. Para clientes de EE....

13
¿Cómo se llama esta técnica de programación?

Encontré esta técnica de programación mientras hacía programación de pares en una entrevista y no pude encontrar el nombre en google. La idea es que primero escriba la expresión que usa las variables y luego escriba el código que computa las variables más adelante. Para usar un código de...

13
Uso del método predeterminado de Java

Durante décadas ha sido el caso de que las interfaces eran solamente única (sólo) para especificar firmas de métodos. Nos dijeron que esta era la "forma correcta de hacer las cosas ™". Entonces salió Java 8 y dijo: Bueno, eh, ahora puedes definir métodos predeterminados. Tengo que correr,...