Question de style de code ici.
J'ai regardé ce qui demande si le CLR .NET va vraiment toujours initialiser les valeurs des champs. (La réponse est oui .) Mais il me semble que je ne suis pas sûr que ce soit toujours une bonne idée de lui faire faire cela. Je pense que si je vois une déclaration comme celle-ci :
int myBlorgleCount = 0;
J'ai l'impression que le programmeur s'attend à ce que le compte commence à zéro et que cela lui convient, du moins dans l'immédiat. D'un autre côté, si je vois juste :
int myBlorgleCount;
Je n'ai aucune idée immédiate si 0 est une valeur légale ou raisonnable. Et si le programmeur commence simplement à le lire et à le modifier, je ne sais pas s'il avait l'intention de commencer à l'utiliser avant de lui attribuer une valeur, ou s'il s'attendait à ce que ce soit zéro, etc.
D'autre part, certaines personnes assez intelligentes, ainsi que l'utilitaire de nettoyage de code de Visual Studio, me disent de supprimer ces déclarations redondantes. Quel est le consensus général à ce sujet ? (Y a-t-il un consensus ?)
J'ai indiqué qu'il s'agissait d'un projet agnostique par rapport à la langue, mais s'il y a un cas particulier où c'est une bonne idée d'aller à contre-courant pour une langue donnée, cela vaut probablement la peine de le signaler.
EDIT : Si j'ai bien précisé que cette question était agnostique par rapport au langage, elle ne s'applique évidemment pas à des langages comme le C, où aucune initialisation de valeur n'est effectuée.
EDIT : J'apprécie la réponse de John, mais c'est exactement ce que je cherche à faire. pas que je recherche. Je comprends que .NET (ou Java ou autre) fera le travail et initialisera les valeurs de manière cohérente et correcte. Ce que je veux dire, c'est que si je vois du code qui modifie une valeur qui n'a pas été précédemment définie explicitement dans le code, je ne sais pas, en tant que responsable du code, si le codeur original voulait que ce soit la valeur par défaut, ou s'il a simplement oublié de définir la valeur, ou s'il s'attendait à ce qu'elle soit définie ailleurs, etc.