C # ist eine multiparadigmatisierte, verwaltete, durch Müll gesammelte objektorientierte Programmiersprache, die von Microsoft parallel zur .NET-Plattform erstellt wurde
Wenn ich Code in Visual Studio schreibe, empfiehlt mir ReSharper (Gott segne es!) Oft, meine alte for-Schleife in die kompaktere foreach-Form zu ändern. Und oft, wenn ich diese Änderung akzeptiere, geht ReSharper einen Schritt weiter und schlägt mir vor, sie in einer glänzenden LINQ-Form erneut zu ändern. Ich frage mich …
Ich habe festgestellt, dass es in C # .NET nur drei Möglichkeiten zum Testen von Einheiten (Mock / Stub) gibt: Maulwürfe TypeMock JustMock Angesichts der Tatsache, dass zwei davon nicht kostenlos sind und einer Release 1.0 noch nicht erreicht hat, ist es nicht einfach, statische Inhalte zu verspotten. Macht das …
In der Debatte von Rich vs. Anemic Domain Models steckt das Internet voller philosophischer Ratschläge, aber es fehlen maßgebliche Beispiele. Ziel dieser Frage ist es, definitive Richtlinien und konkrete Beispiele für geeignete domänengetriebene Designmodelle zu finden. (Idealerweise in C #.) Für ein reales Beispiel scheint diese Implementierung von DDD falsch …
Manchmal muss ich eine Methode oder Eigenschaft für eine Klassenbibliothek schreiben, für die es nicht ungewöhnlich ist, keine echte Antwort zu haben, sondern einen Fehler. Etwas kann nicht bestimmt werden, ist nicht verfügbar, nicht gefunden, derzeit nicht möglich oder es sind keine Daten mehr verfügbar. Ich denke, es gibt drei …
Als langjähriger C # -Programmierer habe ich kürzlich mehr über die Vorteile von RAII ( Resource Acquisition Is Initialization ) erfahren . Insbesondere habe ich festgestellt, dass die C # -Sprache: using (var dbConn = new DbConnection(connStr)) { // do stuff with dbConn } hat das C ++ Äquivalent: { …
Ich habe vor kurzem einen C # -Programmierjob begonnen, habe aber einiges an Hintergrundwissen in Haskell. Aber ich verstehe, dass C # eine objektorientierte Sprache ist, ich möchte keinen runden Stift in ein quadratisches Loch zwingen. Ich habe den Artikel Exception Throwing von Microsoft gelesen, in dem es heißt: KEINE …
In vielerlei Hinsicht mag ich die Idee von Fluent-Schnittstellen sehr, aber mit all den modernen Funktionen von C # (Initialisierer, Lambdas, benannte Parameter) denke ich: "Lohnt es sich?" Und "Ist dies das richtige Muster für" verwenden?". Könnte mir jemand, wenn nicht eine akzeptierte Praxis, zumindest seine eigene Erfahrung oder Entscheidungsgrundlage …
Ich habe die AvSol-Codierungsrichtlinien für C # durchgesehen und bin mit fast allem einverstanden, bin aber sehr gespannt, was andere von einer bestimmten Regel halten. AV1500 Methoden sollten 7 Anweisungen nicht überschreiten Eine Methode, die mehr als 7 Anweisungen erfordert, tut zu viel oder hat zu viele Verantwortlichkeiten. Außerdem muss …
Ich habe eine Debatte mit einem Programmiererkollegen darüber, ob es eine gute oder eine schlechte Praxis ist, ein funktionierendes Codestück nur so zu ändern, dass es testbar ist (z. B. durch Unit-Tests). Meiner Meinung nach ist es in Ordnung, im Rahmen der Einhaltung guter objektorientierter und Software-Engineering-Praktiken (nicht "alles öffentlich …
Nach fast 4 Jahren Erfahrung habe ich keinen Code gesehen, in dem das Schlüsselwort yield verwendet wird. Kann mir jemand eine praktische Verwendung (zusammen mit einer Erklärung) dieses Schlüsselworts zeigen, und wenn ja, gibt es keine anderen Möglichkeiten, die Erfüllung der Aufgaben zu erleichtern?
Nach meinem Verständnis partialbewirkt das Schlüsselwort nichts anderes, als die Aufteilung einer Klasse auf mehrere Quelldateien. Gibt es einen Grund, dies anders als für die Code-Organisation zu tun? Ich habe gesehen, dass es dafür in generierten UI-Klassen verwendet wird. Es scheint ein schlechter Grund zu sein, ein ganzes Keyword zu …
Die bestehenden Codierungsstandards für ein großes C # -Projekt enthalten die Regel, dass alle Typnamen vollständig qualifiziert sein müssen, und verbieten die Verwendung der Direktive 'using'. Also eher als das Vertraute: using System.Collections.Generic; .... other stuff .... List<string> myList = new List<string>(); (Es ist wahrscheinlich keine Überraschung, dass varauch verboten …
"Abstrakte Klasse" und "Schnittstelle" sind ähnliche Konzepte, wobei die Schnittstelle die abstraktere der beiden ist. Ein entscheidender Faktor ist, dass abstrakte Klassen bei Bedarf Methodenimplementierungen für abgeleitete Klassen bereitstellen. In C # wurde dieser Differenzierungsfaktor jedoch durch die kürzliche Einführung von Erweiterungsmethoden reduziert, die es ermöglichen, Implementierungen für Schnittstellenmethoden bereitzustellen. …
ich würde gerne wissen In C # - oder VB.NET-Projekten sollten wir den PACKAGE-Ordner (Nugget-Paketordner, der im Stammverzeichnis meines Projekts erstellt wird und die nupkg-Dateien und andere Inhalte enthält) in unser Quellcodeverwaltungs-Repository (z. B. Git) aufnehmen.
In Onkel Bobs Kapitel über Namen in Clean Code wird empfohlen, Kodierungen in Namen zu vermeiden, vor allem in Bezug auf die ungarische Notation. Er erwähnt auch ausdrücklich das Entfernen des IPräfixes von den Schnittstellen, zeigt jedoch keine Beispiele dafür. Nehmen wir folgendes an: Die Verwendung der Schnittstelle dient hauptsächlich …
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.