En répondant à cette question , j'ai commencé à me demander pourquoi autant de développeurs pensent qu'un bon design ne doit pas rendre compte des performances, car cela affecterait la lisibilité et / ou la maintenabilité. Je crois qu'un bon design prend également en compte les performances au moment de …
Mon conférencier a mentionné aujourd’hui qu’il était possible de "étiqueter" les boucles en Java afin de pouvoir y faire référence lorsqu’il s’agissait de boucles imbriquées. J'ai donc regardé la fonctionnalité car je ne le connaissais pas et de nombreux endroits où cette fonctionnalité a été expliquée ont été suivis d'un …
Considérez le code suivant: public void doSomething(int input) { while(true) { TransformInSomeWay(input); if(ProcessingComplete(input)) break; DoSomethingElseTo(input); } } Supposons que ce processus implique un nombre d'étapes fini mais dépendant de l'entrée; la boucle est conçue pour se terminer d'elle-même à la suite de l'algorithme et n'est pas conçue pour s'exécuter indéfiniment …
Récemment, je développais un ensemble de normes de codage pour notre entreprise. (Nous sommes une nouvelle équipe se ramifiant dans une nouvelle langue pour l'entreprise.) Lors de ma première ébauche, j'ai défini l'objectif de nos normes de codage comme l'amélioration de la lisibilité, de la maintenabilité, de la fiabilité et …
Fermé . Cette question doit être plus ciblée . Il n'accepte pas actuellement de réponses. Voulez-vous améliorer cette question? Mettez à jour la question pour qu'elle se concentre sur un seul problème en modifiant ce post . Fermé il y a 5 ans . C'est un sujet quelque peu controversé, …
Dans le cadre de l'écriture d'un itérateur, je me suis retrouvé à écrire le code suivant (suppression de la gestion des erreurs) public T next() { try { return next; } finally { next = fetcher.fetchNext(next); } } le trouvant un peu plus facile à lire que public T next() …
Fermé . Cette question est basée sur l'opinion . Il n'accepte pas actuellement de réponses. Voulez-vous améliorer cette question? Mettez à jour la question afin d'y répondre avec des faits et des citations en modifiant ce message . Fermé il y a 5 ans . La lecture du code source …
Je travaille dans un entrepôt de données qui source plusieurs systèmes via de nombreux flux et couches avec des dépendances de labyrinthe reliant divers artefacts. À peu près tous les jours, je rencontre des situations comme celle-ci: je lance quelque chose, cela ne fonctionne pas, je passe par beaucoup de …
J'ai lu que je devrais éviter l'opérateur d'incrémentation postfix pour des raisons de performances (dans certains cas). Mais cela n'affecte-t-il pas la lisibilité du code? À mon avis: for(int i = 0; i < 42; i++); /* i will never equal 42! */ Ressemble mieux que: for(int i = 0; …
Considérez la méthode suivante: public List<Guid> ReturnEmployeeIds(bool includeManagement = false) { } Et l'appel suivant: var ids = ReturnEmployeeIds(true); Pour un développeur nouveau dans le système, il serait assez difficile de deviner ce qui trues'est passé. La première chose que vous feriez serait de survoler le nom de la méthode …
J'ai vu certains programmeurs utiliser ceci: foreach (var item in items) { if (item.Field != null) continue; if (item.State != ItemStates.Deleted) continue; // code } au lieu de celui que j'utiliserais normalement: foreach (var item in items.Where(i => i.Field != null && i.State != ItemStates.Deleted)) { // code } J'ai …
Prenons une application qui permet aux plugins de réagir à son flux de programmes. Je connais 2 façons d'y parvenir: les crochets et les événements 1. Crochets Utilisez des appels pour vider des fonctions dans le flux de programme principal. Ces fonctions peuvent être remplacées par des plugins. Par exemple, …
Voici une classe C ++ qui est construite avec trois valeurs. class Foo{ //Constructor Foo(std::string, int, char); private: std::string foo; char bar; int baz; }; Tous les types de paramètres sont différents. Je pourrais surcharger le constructeur pour que l'ordre n'ait pas d'importance. class Foo{ //Constructors Foo(std::string, char, int); Foo(std::string, …
Cette question a été migrée à partir de Code Review Stack Exchange car il est possible d'y répondre sur Software Engineering Stack Exchange. Migré il y a 8 ans . Je sais que le titre de la question est très subjectif, mais j'ai été confronté à l'utilisation de l' ??opérateur …
Lorsque je traite des algorithmes compliqués dans des langages prenant en charge les fonctions imbriquées (comme Python et D), j'écris souvent des fonctions énormes (car l'algorithme est compliqué), mais j'atténue cela en utilisant des fonctions imbriquées pour structurer le code compliqué. Les énormes fonctions (plus de 100 lignes) sont-elles toujours …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.