Il prétend que le 0 devrait être une constante et m'a en fait amputé les marques à cause de cela.
Je serais d'accord L'utilisation de zéro ici est "magique". Imaginez que vous lisiez ce code pour la première fois. Vous ne savez pas pourquoi zéro est spécial et le littéral ne vous dit rien sur la raison pour laquelle zéro est spécial. Si au lieu de cela vous avez dit, le if(comboVendor.SelectedIndex == CreateNewVendorIndex)
lecteur qui lit pour la première fois sa signification du code devient extrêmement clair.
Il affirme que je ne devrais pas du tout utiliser de littéral dans mon code.
C'est une position extrême. une position réaliste serait de dire que l'utilisation de littéraux est un drapeau rouge indiquant que le code peut ne pas être aussi clair qu'il pourrait l'être. Parfois, c'est approprié.
Le problème est que je ne comprends pas pourquoi je voudrais faire de ce code une constante. Cet indice ne changera jamais
Le fait que cela ne changera jamais est une excellente raison pour en faire une constante . C'est pourquoi les constantes sont appelées constantes; parce qu'ils ne changent jamais.
ce n'est pas quelque chose que vous auriez besoin de peaufiner.
Vraiment? Vous ne pouvez pas voir une situation dans laquelle quelqu'un pourrait vouloir changer l'ordre des choses dans une liste déroulante?
Le fait que vous puissiez voir une raison pour laquelle cela pourrait changer à l'avenir est une bonne raison de ne pas en faire une constante. Plutôt, il devrait s'agir d'un champ entier statique non constant à lecture seule. Une constante doit être une quantité garantie de rester la même pour tous les temps . Pi et le numéro atomique de l'or sont de bonnes constantes. Les numéros de version ne sont pas; ils changent chaque version. Le prix de l'or est évidemment une terrible constante; ça change toutes les secondes. Ne faites que des choses constantes qui ne changent jamais .
Cela semble être un gaspillage de mémoire de garder un seul 0 en mémoire, utilisé pour une situation très spécifique et qui ne change jamais.
Nous arrivons maintenant au coeur de la question.
C’est peut-être la ligne la plus importante de votre question car elle indique que vous avez une compréhension très erronée de (1) la mémoire et (2) de l’optimisation. Tu es à l'école pour apprendre, et ce serait le bon moment pour bien comprendre les principes fondamentaux. Pouvez-vous expliquer en détail pourquoi vous croyez que "garder un seul zéro en mémoire est une perte de mémoire"? Tout d'abord, pourquoi croyez-vous qu'il est pertinent d'optimiser l'utilisation de quatre octets de mémoire dans un processus comportant au moins deux milliards d'octets de stockage adressable par l'utilisateur? Deuxièmement, quelle ressource utilisez-vous ici, selon vous ? Qu'entendez-vous par "mémoire" consommée?
Je suis intéressé par les réponses à ces questions d’abord parce que c’est une occasion pour vous de comprendre comment votre compréhension de l’optimisation et de la gestion de la mémoire est incorrecte, et ensuite parce que je veux toujours savoir pourquoi les débutants croient des choses bizarres pour pouvoir concevoir. de meilleurs outils pour les amener à avoir des croyances correctes.