Ingeniería de software

10
Manera adecuada de manejar EINTR en bibliotecas

¿Cuál es la etiqueta recomendada cuando se trata de EINTRbibliotecas? Actualmente estoy escribiendo una función que realiza algunas tareas del sistema de archivos con la API POSIX, pero muchas de las llamadas que uso pueden volver potencialmente EINTR. Además, la función puede bloquearse en...

10
¿Cómo pruebo un algoritmo heurístico?

Digamos que tenemos nuestro algoritmo de búsqueda de ruta: def myHeuristicTSP(graph): /*implementation*/ return route Ahora queremos hacer una prueba unitaria de esto: class TestMyHeuristicTSP: def testNullGraphRaiseValueError(self): self.assertRaises(ValueError, myHueristicTSP(None)) def...

10
Cómo evitar interfaces habladoras

Antecedentes: estoy diseñando una aplicación de servidor y creando dll separados para diferentes subsistemas. Para simplificar las cosas, digamos que tengo dos subsistemas: 1) Users2)Projects La interfaz pública de los usuarios tiene un método como: IEnumerable<User> GetUser(int id); Y...

10
La forma correcta de eliminar un elemento de una lista vinculada

En esta entrevista de Slashdot, se cita a Linus Torvalds diciendo: He visto a demasiadas personas que eliminan una entrada de la lista enlazada individualmente haciendo un seguimiento de la entrada "anterior", y luego eliminan la entrada, haciendo algo como if (anterior) anterior-   >...

10
DDD: raíz agregada con gran cantidad de hijos

¡Prefacio a esta pregunta diciendo que soy relativamente nuevo en DDD, así que puedo estar cometiendo algunos errores fundamentales aquí! Estoy trabajando en un proyecto que involucra los conceptos de Cuentas y Transacciones (en el sentido financiero). Una cuenta puede tener muchas transacciones...

10
Usar código sin licencia

Digamos, por ejemplo, que iba a encontrar un proyecto github que se inició pero que no estaba completo o que estaba completo y quería usar ese código dentro de un proyecto más grande, pero el autor del código no ha especificado una licencia para el código, ¿qué es? ¿El uso aceptable de este código?...

10
Estado de mantenimiento sin asignación

Estoy aprendiendo programación funcional y tengo problemas para entender cómo se implementan algunos escenarios particulares sin el uso de la asignación. El siguiente problema simple resume mi confusión. Escriba un programa que reciba eventos sobre cambios en una estructura de datos dada y emita...

10
Sistema de notificación de redes sociales

Antecedentes Estoy trabajando en una aplicación para un cliente que incluye algunas funciones de redes sociales. Originalmente estaba desarrollando el front-end móvil, pero las circunstancias me han dejado a cargo del desarrollo del back-end también. Como antecedentes generales, nuestro sistema...

10
Big O equivalencia para LINQ select

Estoy tratando de determinar si hay un cambio en la equivalencia Big O de un bucle anidado cuando uso una selección LINQ en su lugar. public void myFunc(List<Foo> fooList, List<Bar> barList) { foreach(Foo foo in fooList) { foreach(Bar bar in barList) { if(foo.PropA == bar.PropA...