Así que mi profesor me devolvió comentarios sobre un proyecto en el que he estado trabajando. Atracó algunas marcas para este código:
if (comboVendor.SelectedIndex == 0) {
createVendor cv = new createVendor();
cv.ShowDialog();
loadVendors();
}
Esto se encuentra en un controlador combinado de "índice cambiado". Se utiliza cuando el usuario desea crear un nuevo proveedor, mi opción principal (índice 0, que nunca cambia) abre el cuadro de diálogo "Crear un nuevo proveedor". Entonces el contenido de mi cuadro combinado termina luciendo así:
Create New Vendor...
Existing Vendor
Existing Vendor 2
Existing Vendor 3
Su problema es con el código de la primera línea:
if (comboVendor.SelectedIndex == 0)
Afirma que el 0 debería ser una constante, y en realidad me atracó marcas debido a eso. Afirma que no debería usar literales en mi código en absoluto.
La cuestión es que no entiendo por qué querría hacer que ese código en esa situación sea una constante. Ese índice nunca cambiará, ni es algo que deba modificar. Parece un desperdicio de memoria mantener un solo 0 en la memoria que se usa para una situación muy específica y que nunca cambia.
-1in str.indexOf(substr) != -1" strcontiene substrestán perfectamente justificadas. Pero aquí, el significado del 0 no es obvio (¿cuál es la relación con la creación de un nuevo proveedor?) Ni es realmente constante (¿y si cambia la forma de crear un nuevo proveedor?).
int.Zeropara hacerlo feliz :)