Lorsque j'écris du code dans Visual Studio, ReSharper (que Dieu le bénisse!) Me suggère souvent de changer mon boucle old-school dans le format plus compact foreach. Et souvent, quand j'accepte ce changement, ReSharper fait un pas en avant et me propose de le changer à nouveau, sous une forme LINQ …
J'ai constaté qu'il n'y a que 3 façons de dépendre d'un test unitaire (fictif / stub) statique dans C # .NET: Taupes TypeMock JustMock Étant donné que deux d’entre eux ne sont pas gratuits et que l’un n’a pas encore atteint la version 1.0, se moquer de choses statiques n’est …
Dans le débat sur les modèles de domaine Rich vs. Anemic, Internet regorge de conseils philosophiques, mais ne contient que des exemples faisant autorité. L’objectif de cette question est de trouver des directives définitives et des exemples concrets de modèles de conception pilotés par domaine appropriés. (Idéalement en C #.) …
Je finis parfois par écrire une méthode ou une propriété pour une bibliothèque de classes pour laquelle il n'est pas exceptionnel de ne pas avoir de vraie réponse, mais un échec. Quelque chose ne peut pas être déterminé, n'est pas disponible, n'a pas été trouvé, n'est pas possible actuellement ou …
En tant que programmeur C # de longue date, je suis récemment venu en savoir plus sur les avantages de l’ initialisation d’acquisition de ressources (RAII). En particulier, j'ai découvert que l'idiome C #: using (var dbConn = new DbConnection(connStr)) { // do stuff with dbConn } a l'équivalent C …
J'ai récemment commencé un travail de programmation en C #, mais j'ai pas mal de connaissances en Haskell. Mais je comprends que C # est un langage orienté objet, je ne veux pas forcer une cheville ronde dans un trou carré. J'ai lu l'article Exception Throwing de Microsoft qui dit: …
À bien des égards, j’aime beaucoup l’idée des interfaces Fluent, mais avec toutes les fonctionnalités modernes du C # (initialiseurs, lambdas, paramètres nommés), je me dis: "est-ce que ça vaut la peine?" Et "Est-ce le bon modèle pour utilisation?". Est-ce que n'importe qui pourrait me donner, sinon une pratique acceptée, …
Je parcourais les directives de codage AvSol pour C # et je suis d’accord sur presque tout, mais je suis vraiment curieux de voir ce que les autres pensent d’une règle spécifique. AV1500 Les méthodes ne doivent pas dépasser 7 énoncés. Une méthode qui nécessite plus de 7 énoncés en …
Je discute avec un collègue programmeur pour savoir s'il est judicieux ou non de modifier un élément de code fonctionnel uniquement pour le rendre testable (via des tests unitaires, par exemple). Mon opinion est que c'est OK, dans les limites du maintien de bonnes pratiques d'ingénierie logicielle orientées objet et …
Après presque 4 ans d'expérience, je n'ai pas vu de code dans lequel le mot clé rendement est utilisé. Quelqu'un peut-il me montrer une utilisation pratique (accompagnée d'une explication) de ce mot clé et, dans l'affirmative, n'y a-t-il pas d'autres moyens plus faciles de remplir ce qu'il peut faire?
À mon sens, le partialmot-clé ne fait que permettre à une classe d'être divisée en plusieurs fichiers source. Y a-t-il une raison de faire cela autre que pour l'organisation du code? Je l'ai vu utilisé pour cela dans les classes d'interface utilisateur générées. Cela semble une mauvaise raison de créer …
Les normes de codage existantes pour un grand projet C # incluent une règle selon laquelle tous les noms de type doivent être pleinement qualifiés, interdisant ainsi l’utilisation de la directive "using". Donc, plutôt que le familier: using System.Collections.Generic; .... other stuff .... List<string> myList = new List<string>(); (Ce n'est …
"Classe abstraite" et "interface" sont des concepts similaires, l'interface étant la plus abstraite des deux. Un facteur de différenciation est que les classes abstraites fournissent des implémentations de méthodes pour les classes dérivées lorsque cela est nécessaire. En C #, toutefois, ce facteur de différenciation a été réduit par l’introduction …
J'aimerais savoir Dans le projet C # ou VB.NET, nous devons inclure le dossier PACKAGE (dossier du paquet nugget créé à la racine de mon projet contenant les fichiers nupkg et autre contenu) dans notre référentiel de contrôle de source (Git par exemple).
Le chapitre d'Oncle Bob sur les noms dans Clean Code vous recommande d'éviter les encodages dans les noms, principalement en ce qui concerne la notation hongroise. Il mentionne aussi spécifiquement la suppression du Ipréfixe des interfaces, mais n'en montre pas d'exemples. Supposons ce qui suit: L'utilisation de l'interface est principalement …
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.