Então, meu professor estava retornando algum feedback sobre um projeto no qual eu estava trabalhando. Ele encaixou algumas marcas para este código:
if (comboVendor.SelectedIndex == 0) {
createVendor cv = new createVendor();
cv.ShowDialog();
loadVendors();
}
Isso está em um manipulador de "índice alterado" da caixa de combinação. É usado quando o usuário deseja criar um novo fornecedor, minha primeira opção (índice 0, que nunca muda) abre a caixa de diálogo "Criar um novo fornecedor". Portanto, o conteúdo da minha caixa de combinação acaba assim:
Create New Vendor...
Existing Vendor
Existing Vendor 2
Existing Vendor 3
O problema dele é com o código da primeira linha:
if (comboVendor.SelectedIndex == 0)
Ele afirma que o 0 deve ser uma constante e, na verdade, encaixou minhas marcas por causa disso. Ele afirma que eu não deveria usar literais no meu código.
O problema é que eu não entendo por que eu gostaria de tornar esse código nessa situação uma constante. Esse índice nunca mudará, nem é algo que você precisaria ajustar. Parece um desperdício de memória manter um único 0 na memória que é usado para uma situação muito específica e nunca muda.
-1
no str.indexOf(substr) != -1
de " str
contém substr
" é prefectly justificada. Mas aqui, o significado do 0 não é óbvio (qual a relação com a criação de um novo fornecedor?) Nem verdadeiramente constante (e se a maneira de criar um novo fornecedor mudar?).
int.Zero
em vez de fazê-lo feliz :)