Génie logiciel

Q & A pour les professionnels, les universitaires et les étudiants travaillant dans le cycle de vie du développement de systèmes

2
Licence de Ghostscript dans un produit commercial
Nous étudions la possibilité d'utiliser Ghostscript dans un produit commercial (application de bureau Windows). J'ai lu comment contourner complètement l'octroi de licences GS en suggérant simplement aux utilisateurs qu'ils peuvent télécharger et installer GS par eux-mêmes pour améliorer leur expérience (le logiciel fonctionne en fait sans cela aussi, mais la …
19 licensing 






3
Exceptions - «ce qui s'est passé» vs «que faire»
Nous utilisons des exceptions pour permettre au consommateur du code de gérer un comportement inattendu de manière utile. Habituellement, des exceptions sont construites autour du scénario "ce qui s'est passé" - comme FileNotFound(nous n'avons pas pu trouver le fichier que vous avez spécifié) ou ZeroDivisionError(nous n'avons pas pu effectuer l' …
19 exceptions 

3
Est-il sensé de retourner des Streams partout où nous retournerions normalement des Collections?
Tout en développant mon API qui n'est liée à aucun code hérité, je me retrouve souvent à écrire des méthodes qui sont purement et simplement terminées par le pipeline Streams en collectant les résultats. Comme celui-ci: ImmutableSet<T> deriveSomethingMeaningfulFromPrivateState() { return myPrivateThingies.stream() .map(this::ownerOfThing) .map(Owner::socialStatus) .filter(SocialStatus::isHeAFineMatey) .collect(MyCustomCollectors.toImmutableSet()); } Maintenant, la plupart des …






2
Quand utiliser [Pure] sur un constructeur?
J'apprends les contrats de code dans .NET et j'essaie de comprendre l'idée de constructeurs purs. La documentation des contrats de code indique: Toutes les méthodes appelées dans un contrat doivent être pures; c'est-à-dire qu'ils ne doivent mettre à jour aucun état préexistant. Une méthode pure est autorisée à modifier les …


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.