Аморально ли я использовать имя переменной, которая отличается от ее типа только регистром? - PullRequest
95 голосов
/ 20 января 2009

Например, возьмите этот кусок кода:

var person = new Person();

или для вас Pythonistas:

person = Person()

Мне постоянно говорят, насколько это плохо, но я еще не видел пример аморальности этих двух строк кода. Для меня человек - это человек, и попытка дать ему другое имя - пустая трата времени. Я полагаю, что за несколько дней до выделения синтаксиса это было бы очень важно. Но в наши дни довольно легко отличить имя типа от имени переменной. Черт, даже здесь легко увидеть разницу на SO.

Или я что-то упускаю? Если это так, было бы полезно, если бы вы могли привести пример кода, который вызывает проблемы.

Ответы [ 33 ]

0 голосов
/ 13 июля 2010

Это не только нормально, но и разумно.

Microsoft даже предложила аналогичным образом (это может удивить некоторых людей), чтобы свойства назывались так же, как их типы. Я знаю, что это не то же самое, но это может открыть ваше мышление.

http://msdn.microsoft.com/en-us/library/fzcth91k(VS.71).aspx

0 голосов
/ 04 декабря 2010

Нет, это не плохо, если назвать его по-другому, например,

Person clerk = new Person();
Person manager = new Person();

Что плохо, так это выдумывать бессмысленные имена, как показано ниже:

Person xyz = new Person(); 
0 голосов
/ 20 января 2009

Я бы не сказал, что это ужасно. Обычно я добавляю к имени переменной переменную «a», чтобы показать, что это единственный экземпляр типа, поэтому я бы сделал

Person aPerson = new Person();

Я думаю, это делает код более естественным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...