Génie logiciel

15
Comment appliquer le principe de séparation d'interface en C?

J'ai un module, disons «M», qui a quelques clients, disons «C1», «C2», «C3». Je veux répartir l'espace de noms du module M, c'est-à-dire les déclarations des API et des données qu'il expose, en fichier (s) d'en-tête de telle manière que - pour tout client, seules les données et les API dont il a...

15
Récupérer une valeur sans avoir à vérifier null en Java

Plusieurs fois, je me retrouve à vérifier null lors de la récupération d'une valeur dans une hiérarchie de données pour éviter les NullPointerExceptions, que je trouve sujettes à des erreurs et qui nécessitent beaucoup de passe-partout. J'ai écrit une routine très simple qui me permet d'ignorer la...

15
API RESTful et i18n: comment concevoir la réponse?

Nous concevons une API RESTful qui est principalement destinée à répondre aux besoins d'un seul client. En raison de sa situation très particulière, ce client doit faire le moins de demandes possible. L'API gère i18n via un en-tête Accept-Language dans les demandes. Cela fonctionne pour tout ce que...

15
Le code plus ancien doit-il être mis à jour pour utiliser des constructions de langage plus récentes, ou des constructions obsolètes doivent-elles être bloquées?

Je veux apporter quelques améliorations à du code encore fonctionnel qui a été écrit il y a longtemps, avant que le langage de programmation dans lequel il est écrit ne se développe. En théorie, l'ensemble du projet utilise la version à jour de la langue; cependant, ce module particulier (et en...

15
Retour booléen de set.add () in if conditionnel?

L'opérateur add de la classe set renvoie un booléen qui est vrai si l'élément (qui doit être ajouté) n'était pas déjà là, et faux sinon. Est en train d'écrire if (set.add(entry)) { //do some more stuff } considéré comme un bon style en termes d'écriture de code propre? Je me demande puisque vous...

15
Quel est l'avantage d'avoir des modèles POCO purs?

Quel est l'avantage majeur d'avoir des modèles POCO purs? J'ai l'impression que les modèles doivent être propres et simples, mais j'ai tendance à aimer maintenir la maintenance des objets enfants dans les classes de modèles. Par exemple, si j'ai un ClassAet ClassBdéfini comme suit: public class...