Мне всегда немного смешно, когда я делаю это, но на самом деле это не веская причина избегать этого.
Одна из причин, по которой вы могли бы потенциально хотеть этого избегать,цели отладки.Возможность определить разницу между переменными «блокнота» и входными данными для функции может быть очень полезна, когда вы на полпути к отладке.
Я не могу сказать, что это что-то, что появляется очень часто по моему опыту - и часто вы можете обнаружить, что стоит ввести другую переменную просто для того, чтобы иметь другое имя , но если код, который в противном случае является наиболее чистым, заканчивает тем, что изменяет значение переменной, то так и будет.
Одна из ситуаций, в которой этот может прийти и быть вполне разумным, - это когда у вас есть какое-то значение, означающее «использовать значение по умолчанию» (обычно нулевая ссылка вязык как Java или C #).В этом случае я думаю, что вполне разумно изменить значение параметра на «реальное» значение по умолчанию.Это особенно полезно в C # 4, где вы можете иметь дополнительные параметры, но значение по умолчанию должно быть константой:
Например:
public static void WriteText(string file, string text, Encoding encoding = null)
{
// Null means "use the default" which we would document to be UTF-8
encoding = encoding ?? Encoding.UTF8;
// Rest of code here
}