Ich genieße und empfehle sehr Juval Lowy's - C#-Codierungsstandard . Juval verzichtet ausdrücklich auf eine Begründung für jede Richtlinie, um den Standard straff zu halten (siehe Vorwort). Es gibt jedoch einige Richtlinien, bei denen ich neugierig bin, wie sie begründet werden.
Was ist die spezifische Begründung für die folgenden Richtlinien aus dem C#-Standard von Lowy?
Hoffentlich gibt es auf diese Fragen konkrete (nicht subjektive) Antworten.
1.13 Vermeiden Sie vollqualifizierte Typennamen. Verwenden Sie stattdessen die "using"-Anweisung.
Ist dies ein Leistungsproblem? Manchmal benötige ich nur eine Instanz des vollqualifizierten Namens und das Hinzufügen einer mit scheint schwer zu sein.
1.26 Verwenden Sie leere Klammern bei parameterlosen anonymen Methoden. Lassen Sie die Klammern nur dann weg, wenn die anonyme Methode auf jedem Delegaten hätte verwendet werden können.
Ich bin eigentlich nur durch den zweiten Satz verwirrt. Eine Erläuterung mit Beispiel(en) wäre hilfreich, danke.
2.19 Vermeiden Sie die Definition eigener Ausnahmeklassen
Welche Überlegungen gibt es, um ihre Zahl zu minimieren? (Als Nächstes gibt er Leitlinien an, wenn Sie sie definieren (in 2.20).
2.29 Vermeiden Sie die Verwendung des ternären Bedingungsoperators
Zu schwer für den Leser zu verdauen, oder andere Überlegungen?
2.31 Vermeiden Sie Funktionsaufrufe in booleschen bedingten Anweisungen. Weisen Sie sie lokalen Variablen zu und überprüfen Sie sie.
Ich glaube nicht, dass ich das tue, aber ich bin neugierig... warum nicht?
2.47 Vermeiden Sie Schnittstellen mit einem Mitglied.
Denn was ist immer/meistens vorzuziehen? Wann funktioniert eine Methodenschnittstelle?
2.53 Explizite Schnittstellenimplementierung bevorzugen
Warum? Auch, Jon Skeet ist hier anderer Meinung .
Vielen Dank im Voraus! Robert