Ingeniería de software

15
La burla introduce el manejo en el código de producción

Asumiendo una interfaz IReader, una implementación de la interfaz IReader ReaderImplementation y una clase ReaderConsumer que consume y procesa datos del lector. public interface IReader { object Read() } Implementación public class ReaderImplementation { ... public object Read() { ......

15
¿Debería actualizarse el código anterior para usar construcciones de lenguaje más nuevas, o deberían quedar bloqueadas las construcciones obsoletas?

Quiero hacer algunas mejoras en un código aún funcional que se escribió hace mucho tiempo, antes de que el lenguaje de programación en el que está escrito creciera en características. En teoría, todo el proyecto utiliza la versión actualizada del lenguaje; sin embargo, este módulo en particular (y...

15
Retorno booleano de set.add () en if conditional?

El operador add de la clase set devuelve un valor booleano que es verdadero si el elemento (que se agregará) ya no estaba allí, y falso de lo contrario. Esta escribiendo if (set.add(entry)) { //do some more stuff } considerado un buen estilo en términos de escribir código limpio? Me pregunto ya...

15
¿Cuál es el beneficio de tener modelos POCO puros?

¿Cuál es el principal beneficio de tener modelos POCO puros? Entiendo que los Modelos deben ser limpios y simples, pero me gusta mantener el mantenimiento de los objetos secundarios dentro de las clases de modelos. Por ejemplo si tengo un ClassAy ClassBdefinido de la siguiente manera: public class...

15
Escalado de monolitos frente a escalado de microservicios

Uno de los argumentos comunes para usar microservicios es una mejor escalabilidad. Pero me pregunto si este argumento es realmente válido. Digamos que teníamos una aplicación que consta de 10 microservicios con 9 de ellos con cada dos instancias (por redundancia) y uno de ellos con 4 instancias...

15
Arquitectura limpia: demasiadas clases de casos de uso

Voy a Arquitectura limpia y elevo mi nivel de Android de MVC a MVP , introduciendo DI con Dagger 2, Reactividad con RxJava 2 y, por supuesto, Java 8. En la arquitectura limpia de MVP hay una capa entre las entidades (en los almacenes de datos) y los presentadores que deberían acceder a ellas. Esta...

15
¿Mantener el "código" alejado de los diseñadores?

Construyo bastantes proyectos con un amigo mío, pero siempre encontramos el mismo escollo una y otra vez. Sé cómo escribir PHP, Javascript y todo eso (también sé CSS y HTML) para poder hacer la mayor parte del trabajo a la hora de construir la funcionalidad real. Sin embargo, no puede, pero puede...

15
Cómo evitar la necesidad de probar métodos privados

Sé que se supone que no debes probar métodos privados, y si parece que lo necesitas, es posible que haya una clase allí esperando para salir. Pero, no quiero tener un millón de clases solo para poder probar sus interfaces públicas y encuentro que para muchas clases si solo pruebo los métodos...