Während einer aktuellen Codeüberprüfung schlug ein Kollege vor, dass für Klasse mit 4 Int-Eigenschaften im Konstruktor jede zu Null führen würde zu einer Leistungseinbuße führen.Zuweisen von Ganzzahlen Feldern/Eigenschaften in einem Konstruktor
Zum Beispiel
public Example()
{
this.major = 0;
this.minor = 0;
this.revision = 0;
this.build = 0;
}
war Sein Punkt, dass dies überflüssig ist, da sie standardmäßig eingestellt wird, wird auf Null gesetzt und Sie Overhead sind die Einführung von im Wesentlichen zweimal die gleiche Aufgabe. Mein Punkt war, dass der Leistungshit vernachlässigbar wäre, wenn überhaupt einer vorhanden wäre, und dies ist besser lesbar (es gibt mehrere Konstruktoren), da die Absicht des Zustands des Objekts nach dem Aufruf dieses Konstruktors sehr klar ist.
Was denkst du? Gibt es einen Leistungsgewinn, den es wert ist, sich hier um etwas zu kümmern?
Vorsicht vor vorzeitiger (möglicher) Optimierung. – jball
"Vorzeitige Optimierung ist die Wurzel allen Übels." –
Wenn dies "programmers.stackexchange.com" wäre, würde ich aus Sicht der Lesbarkeit antworten. Sicher, es wird die Leistung nicht beeinträchtigen, aber es fügt dem Quellcode Rauschen hinzu. Es ist zum Beispiel, 'foreach (var item in anyEnumerable.ToList())' 'zu schreiben. –