Génie logiciel

11
Principe SEC dans les bonnes pratiques?

J'essaie de suivre le principe DRY dans ma programmation aussi fort que possible. Récemment, j'ai appris des modèles de conception en POO et j'ai fini par me répéter beaucoup. J'ai créé un modèle de référentiel avec des modèles d'usine et de passerelle pour gérer ma persistance. J'utilise une base...

11
La portée au niveau du package Java est-elle utile?

Je comprends l'idée de la portée du package et j'ai même parfois pensé que je le voulais. Cependant, chaque fois que je m'installais avec une intention sérieuse d'essayer de l'utiliser, je découvrais qu'il ne répondait pas aux besoins que je pensais qu'il servirait. Mon principal problème semble...

11
Quand utiliser des génériques dans la conception d'interfaces

J'ai certaines interfaces que j'ai l'intention d'implémenter à l'avenir par des tiers et je fournis moi-même une implémentation de base. Je vais seulement utiliser un couple pour montrer l'exemple. Actuellement, ils sont définis comme Article: public interface Item { String getId(); String...

11
Boucle Foreach et initialisation variable

Y a-t-il une différence entre ces deux versions de code? foreach (var thing in things) { int i = thing.number; // code using 'i' // pay no attention to the uselessness of 'i' } int i; foreach (var thing in things) { i = thing.number; // code using 'i' } Ou le compilateur s'en fiche-t-il? Quand je...

11
Liaison tardive orientée objet

Dans la Définition d'Alan Kays d'Object Oriented, il y a cette définition que je ne comprends pas en partie: Pour moi, la POO signifie uniquement la messagerie, la conservation et la protection locales et la dissimulation du processus d'état, et la liaison tardive extrême de toutes choses. Mais que...

11
Ruby: if variable vs if variable.nil?

Je suis nouveau chez Ruby et j'ai été surpris quand j'ai découvert que tous les objets étaient vrais, à part zéro et faux. Même 0 est vrai. Une bonne chose à propos de cette propriété de la langue est que vous pouvez écrire: if !variable # do stuff when variable is nil end Mes collègues, qui sont...

11
Je comprends ce qu'est un pointeur de pile - mais à quoi sert-il?

Le pointeur de pile pointe vers le haut de la pile, qui stocke les données sur ce que nous appelons une base "LIFO". Pour voler l'analogie de quelqu'un d'autre, c'est comme une pile de plats dans laquelle vous mettez et prenez des plats au sommet. Le pointeur de pile, OTOH, pointe vers le "plat"...

11
Solution de contournement pour la mise en œuvre d'opérations sur des structures de données doublement liées ou circulaires dans des langues avec des données immuables

Je voudrais apprendre à créer des graphiques et à effectuer des opérations locales sur eux dans Haskell, mais la question n'est pas spécifique à Haskell, et au lieu de graphiques, nous pouvons envisager des listes doublement liées. Question: Quelle serait une manière idiomatique ou recommandée...

11
Migrer les exigences héritées vers BDD

Q: Quelle est la meilleure façon de déplacer une grande entreprise vers Cucumber avec au moins 15 ans d'exigences logicielles héritées conservées dans une base de données d'exigences? Envisage actuellement: 1) Migrez tout Inconvénient: nous n'avons pas de temps / budget illimité, nous devons aller...