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



5
Mon équipe a peur des entités de bases de données relationnelles avec des relations de clés étrangères et je ne comprends pas pourquoi
Je suis relativement fraîchement sorti de l'université, donc la plupart de mes connaissances avec les bases de données relationnelles proviennent de mon cours sur les bases de données où tout ce qui n'est pas en BCNF ou 3NF est une parodie. C'est certainement une extrémité de l'extrême, mais mon équipe …

6
DDD rencontre OOP: Comment implémenter un référentiel orienté objet?
Une implémentation typique d'un référentiel DDD n'a pas l'air très OO, par exemple une save()méthode: package com.example.domain; public class Product { /* public attributes for brevity */ public String name; public Double price; } public interface ProductRepo { void save(Product product); } Partie infrastructure: package com.example.infrastructure; // imports... public class …

2
Pourquoi la classe de base doit-elle avoir un destructeur virtuel ici si la classe dérivée n'alloue aucune mémoire dynamique brute?
Le code suivant provoque une fuite de mémoire: #include <iostream> #include <memory> #include <vector> using namespace std; class base { void virtual initialize_vector() = 0; }; class derived : public base { private: vector<int> vec; public: derived() { initialize_vector(); } void initialize_vector() { for (int i = 0; i < …

2
Une définition de «Terminé» dans le cas où plusieurs équipes de développement travaillent sur un même produit
L'un des tests Scrum contient la question de la définition décrivant le mieux "Terminé" lorsque plusieurs équipes de développement effectuent un travail sur un même produit. Une bonne réponse indique que ces équipes de développement doivent avoir une telle définition de "Terminé" qui peut rendre leur travail combiné potentiellement libérable. …
12 agile  scrum 

1
Utiliser des classes d'amis pour encapsuler des fonctions de membre privé en C ++ - bonne pratique ou abus?
J'ai donc remarqué qu'il est possible d'éviter de mettre des fonctions privées dans les en-têtes en faisant quelque chose comme ceci: // In file pred_list.h: class PredicateList { int somePrivateField; friend class PredicateList_HelperFunctions; public: bool match(); } // In file pred_list.cpp: class PredicateList_HelperFunctions { static bool fullMatch(PredicateList& p) { return …




4
struct avec une valeur par défaut absurde
Dans mon système je fonctionne souvent avec des codes d'aéroport ( "YYZ", "LAX", "SFO", etc.), ils sont toujours dans le même format exact (3 lettres, représentée en majuscules). Le système traite généralement 25 à 50 de ces codes (différents) par demande d'API, avec plus de mille allocations au total, ils …

5
Est-il judicieux de définir une interface si j'ai déjà une classe abstraite?
J'ai une classe avec des fonctionnalités par défaut / partagées. J'utilise abstract classpour cela: public interface ITypeNameMapper { string Map(TypeDefinition typeDefinition); } public abstract class TypeNameMapper : ITypeNameMapper { public virtual string Map(TypeDefinition typeDefinition) { if (typeDefinition is ClassDefinition classDefinition) { return Map(classDefinition); } ... throw new ArgumentOutOfRangeException(nameof(typeDefinition)); } protected …


5
Dans quelles conditions (le cas échéant) est-ce une bonne pratique d'interroger deux serveurs et de ne consommer que la réponse la plus rapide?
J'ai demandé ce qui est maintenant une question supprimée par la communauté sur SO sur pourquoi quelqu'un utiliserait-il le javascript Promise.race, et un utilisateur de haut niveau a commenté ceci: Si vous avez deux services qui calculent une valeur, vous pouvez les interroger en parallèle et utiliser la valeur qui …


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.