Вопрос о стиле кода здесь.
Я посмотрел на этот вопрос, который спрашивает, действительно ли .NET CLR всегда будет инициализировать значения полей. (Ответ - да.) Но мне кажется, что я не уверен, что это всегда хорошая идея, чтобы он это делал. Мое мышление состоит в том, что если я увижу объявление вроде этого:
int myBlorgleCount = 0;
У меня довольно хорошая идея, что программист ожидает, что счет начнется с нуля, и это нормально, по крайней мере, для ближайшего будущего. С другой стороны, если я просто вижу:
int myBlorgleCount;
У меня нет реальной непосредственной идеи, если 0 - юридическое или разумное значение. И если программист только начинает читать и модифицирует его, я не знаю, должен ли программист начать использовать его, прежде чем они установили для него значение, или если они ожидали, что он будет равен нулю и т.д.
С другой стороны, некоторые довольно умные люди и утилита очистки кода Visual Studio говорят мне удалить эти избыточные объявления. Каков общий консенсус по этому поводу? (Есть ли консенсус?)
Я обозначил это как агностик языка, но если есть странный случай, где особенно хорошая идея пойти против зерна для определенного языка, это, вероятно, стоит указать.
EDIT. Хотя я и сказал, что этот вопрос является агностиком языка, он явно не применим к таким языкам, как C, где инициализация значения не выполняется.
РЕДАКТИРОВАТЬ: я ценю ответ Джона, но это именно то, что я не ищет. Я понимаю, что .NET(или Java или что-то еще) выполнит задание и инициализирует значения последовательно и правильно. Я хочу сказать, что если я вижу код, который модифицирует значение, которое ранее не было явно задано в коде, я, как разработчик кода, не знаю, означал ли исходный кодер его значение по умолчанию, или просто забыл установить значение или ожидал, что он будет установлен в другом месте и т.д.