Ingeniería de software

Preguntas y respuestas para profesionales, académicos y estudiantes que trabajan dentro del ciclo de vida de desarrollo de sistemas


5
Práctica recomendada: ajuste en función de la llamada a la función versus adición de salida anticipada en caso de protección en la función
Sé que esto puede ser muy específico para el caso de uso, pero me pregunto con demasiada frecuencia. ¿Existe una sintaxis generalmente preferida? No estoy preguntando cuál es el mejor enfoque cuando estoy en una función, estoy preguntando si debo salir temprano o simplemente no llamar a la función. Ajustar …


9
Herencia vs Composición para piezas de ajedrez
Una búsqueda rápida de este intercambio de pila muestra que, en general, la composición generalmente se considera más flexible que la herencia, pero como siempre depende del proyecto, etc., y hay ocasiones en que la herencia es la mejor opción. Quiero hacer un juego de ajedrez en 3D donde cada …

1
¿Qué significa "TILT" en un comentario?
Estoy leyendo Clean Code de Robert C. Martin, y la frase TILTaparece inexplicablemente en algunos ejemplos de código. Ejemplo (está en Java, por cierto): ... public String errorMessage() { switch (status) { case ErrorCode.OK: // TILT - Should not get here. return ""; case ErrorCode.UNEXPECTED_ARGUMENT: return "Unexpected argument"; case ErrorCode.MISSING_ARGUMENT: …





2
Patrón de repositorio vs Creación de objetos DAL
Por lo que he aprendido, el IRepositorydebería contener CRUD. Entonces heredamos esta IRepositoryen nuestras otras interfaces como IProducte implementar IProductclase concreta ProductRepository, con métodos como GetAllProducts(), Top5Products(). También podríamos hacer lo mismo con la arquitectura de n niveles. como, Creación DAL Class Libraryy en ella definir una clase Productcon métodos …

6
¿Dijkstra tenía la intención de modularizar el código cuando escribió sobre la separación de preocupaciones?
Primero, leí un extracto del artículo de 1974 de Edsger W. Dijkstra "Sobre el papel del pensamiento científico": Permíteme explicarte, lo que a mi gusto es característico de todo pensamiento inteligente. Es decir, que uno está dispuesto a estudiar en profundidad un aspecto del tema de forma aislada por el …


1
Nombre de la técnica para inferir argumentos de tipo de un parámetro de tipo?
Configuración: supongamos que tenemos un tipo llamado Iteratorque tiene un parámetro de tipo Element: interface Iterator<Element> {} Luego tenemos una interfaz Iterableque tiene un método que devolverá un Iterator. // T has an upper bound of Iterator interface Iterable<T: Iterator> { getIterator(): T } El problema con Iteratorser genérico es …

2
Granularidad de Excepciones
He tenido un debate entre unos pocos amigos y yo. Prefieren excepciones generales como ClientErrorExceptiony ServerErrorExceptioncon detalles como campos de la excepción, mientras que prefiero hacer las cosas más específicas. Por ejemplo, podría tener un puñado de excepciones como: BadRequestException AuthenticationFailureException ProductNotFoundException Cada uno de estos se basa en el …


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.