Génie logiciel

9
Suivez le chemin de ce que je sais, puis essayez de mettre en œuvre des pratiques de codage correctes, ou commencez par de bonnes pratiques de codage et essayez de me frayer un chemin?

Tout d'abord, je tiens à dire que j'ai l'habitude de faire de la programmation procédurale comme passe-temps - j'essaie d'apprendre la POO dans quelques langues et de comprendre la théorie , mais pas la pratique. J'ai un projet pour animaux de compagnie que je voulais construire, spécifiquement en...

9
Microservices: MonolithFirst?

J'ai fait des recherches sur les architectures de microservices en essayant d'obtenir un aperçu de haut niveau de tous les avantages et inconvénients, pourquoi et pourquoi, etc. Une grande partie des informations que je lis / regarde proviennent de ThoughtWorks (Martin Fowler, Neal Ford, et Al). La...

9
Granularité des exceptions

J'ai rencontré un débat entre quelques amis et moi. Ils préfèrent les exceptions générales telles que ClientErrorExceptionet ServerErrorExceptionavec détail comme champs de l'exception, alors que je préfère rendre les choses plus spécifiques. Par exemple, je pourrais avoir une poignée d'exceptions...

9
For-if antipattern

Je lisais sur ce billet de blog sur l'anti-modèle for-if, et je ne suis pas sûr de comprendre pourquoi c'est un anti-modèle. foreach (string filename in Directory.GetFiles(".")) { if (filename.Equals("desktop.ini", StringComparison.OrdinalIgnoreCase)) { return new StreamReader(filename); } }...

9
Héritage vs composition pour les pièces d'échecs

Une recherche rapide de cet échange de pile montre qu'en général la composition est généralement considérée comme plus flexible que l'héritage mais comme toujours cela dépend du projet, etc. et il y a des moments où l'héritage est le meilleur choix. Je veux faire un jeu d'échecs en 3D où chaque...