Ingeniería de software

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

2
Licencia de Ghostscript en un producto comercial
Estamos estudiando la posibilidad de utilizar Ghostscript en un producto comercial (aplicación de escritorio de Windows). Leí sobre eludir las licencias de GS por completo simplemente sugiriendo a los usuarios que pueden descargar e instalar GS por su cuenta para mejorar su experiencia (el software también funciona sin él, pero …
19 licensing 






3
Excepciones: "qué sucedió" vs "qué hacer"
Usamos excepciones para permitir que el consumidor del código maneje comportamientos inesperados de una manera útil. Por lo general, las excepciones se basan en el escenario "qué sucedió", como FileNotFound(no pudimos encontrar el archivo que especificó) o ZeroDivisionError(no pudimos realizar la 1/0operación). ¿Qué sucede si existe la posibilidad de especificar …
19 exceptions 

3
¿Es sensato devolver Streams donde normalmente devolvemos Colecciones?
Mientras desarrollo mi API que no está vinculada a ningún código heredado, a menudo me encuentro escribiendo métodos que son puramente canales terminados mediante la recopilación de los resultados. Como éste: ImmutableSet<T> deriveSomethingMeaningfulFromPrivateState() { return myPrivateThingies.stream() .map(this::ownerOfThing) .map(Owner::socialStatus) .filter(SocialStatus::isHeAFineMatey) .collect(MyCustomCollectors.toImmutableSet()); } Ahora, la mayoría de los clientes de esta clase …





2
¿Cuándo usar [Pure] en un constructor?
Estoy aprendiendo acerca de los contratos de código en .NET, y estoy tratando de entender la idea de constructores puros. La documentación de los contratos de código establece: Todos los métodos que se llaman dentro de un contrato deben ser puros; es decir, no deben actualizar ningún estado preexistente. Un …



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.