Durante una revisión reciente del código, un colega sugirió que, para la clase con 4 propiedades int, la asignación de cada uno a cero en el constructor daría lugar a una penalización de rendimiento.Asignación de campos enteros/propiedades a cero en un constructor
Por ejemplo,
public Example()
{
this.major = 0;
this.minor = 0;
this.revision = 0;
this.build = 0;
}
Su punto era que esto es redundante, ya que serán puestos a cero por defecto y se están introduciendo sobrecarga mediante la realización esencialmente la misma tarea dos veces. Mi punto era que el impacto en el rendimiento sería insignificante si uno existiera y esto es más legible (hay varios constructores) ya que la intención del estado del objeto después de llamar a este constructor es muy clara.
¿Qué opinas? ¿Hay un aumento en el rendimiento que merezca la pena?
Tenga cuidado con la optimización prematura (posible). – jball
"La optimización prematura es la raíz de todo mal". –
Si esto fuera 'programmers.stackexchange.com' respondería desde el punto de vista de la legibilidad. Claro, no va a afectar el rendimiento, pero agrega ruido al código fuente. Es como, digamos, escribir 'foreach (elemento var en someEnumerable.ToList())'. –