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

3
C ++ typedef typedef fortement
J'ai essayé de trouver un moyen de déclarer des typedefs fortement typés, d'attraper une certaine classe de bogues au stade de la compilation. Il arrive souvent que je tape un int dans plusieurs types d'identifiants, ou un vecteur de position ou de vélocité: typedef int EntityID; typedef int ModelID; typedef …
50 c++  c++11  type-safety 

5
Pourquoi Python n'autorise-t-il pas les lambdas multilignes?
Quelqu'un peut-il expliquer les raisons concrètes pour lesquelles BDFL a choisi de créer une ligne unique de Python lambdas? C'est bon: lambda x: x**x Cela entraîne une erreur: lambda x: x**x Je comprends que faire lambda multi-line "dérangerait" les règles d'indentation normales et nécessiterait l'ajout d'exceptions supplémentaires, mais est-ce que …
50 lambda  python 

2
Devrais-je toujours utiliser «is» comme préfixe pour les variables booléennes? [fermé]
Devrais-je toujours utiliser iscomme préfixe pour les variables booléennes? Qu'en est-il des booléens qui indiquent quelque chose dans le passé? Dois-je écrire isInitializedou wasInitialized? Devrais-je écrire pour les propriétés IsManyMembersou HasManyMembers? Y a-t-il des meilleures pratiques? Ou je devrais juste écrire conformément aux règles anglaises?



6
Pourquoi de nombreuses fonctions qui renvoient des structures en C renvoient-elles en fait des pointeurs sur des structures?
Quel est l'avantage de renvoyer un pointeur sur une structure plutôt que de renvoyer toute la structure dans l' returnénoncé de la fonction? Je parle de fonctions telles que fopenet d'autres fonctions de bas niveau, mais il existe probablement des fonctions de niveau supérieur qui renvoient également des pointeurs vers …

2
Quelles sont les améliorations de MVP par rapport à MVC?
J'ai lu pendant trois jours sur les modèles Model-View-Controller (MVC) et Model-View-Presenter (MVP) . Et il y a une question qui me dérange beaucoup. Pourquoi les concepteurs de logiciels ont-ils inventé MVP, alors qu'il y avait déjà un MVC? Quels problèmes ont-ils rencontrés, que MVC n'a pas résolus (ou mal …





5
Pourquoi toutes les fonctions <algorithm> ne prennent-elles que des plages, pas des conteneurs?
Il y a beaucoup de fonctions utiles dans &lt;algorithm&gt;, mais toutes fonctionnent sur des "séquences" - des paires d'itérateurs. Par exemple, si j’ai un conteneur et que j’aime courir std::accumulatedessus, j’ai besoin d’écrire: std::vector&lt;int&gt; myContainer = ...; int sum = std::accumulate(myContainer.begin(), myContainer.end(), 0); Quand tout ce que je compte faire, …

6
Solution de contournement pour les exceptions vérifiées par Java
J'apprécie beaucoup les nouvelles fonctionnalités de Java 8 concernant les interfaces de méthode lambdas et par défaut. Pourtant, je me lasse toujours des exceptions vérifiées. Par exemple, si je veux juste lister tous les champs visibles d'un objet, j'aimerais simplement écrire ceci: Arrays.asList(p.getClass().getFields()).forEach( f -&gt; System.out.println(f.get(p)) ); Cependant, comme la …


1
Pourquoi y a-t-il un «nouveau» dans Go?
Je suis toujours perplexe quant à pourquoi nous avons newdans Go. Quand vous voulez instancier une structure, vous faites t := Thing{} et vous pouvez obtenir un pointeur sur une nouvelle instance en faisant t := &amp;Thing{} Mais il y a aussi cette possibilité: t := new(Thing) Ce dernier semble …
49 go 

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.