Задать вопрос
@soveckii_fonarik
аспирант,начинающий программист - преподаватель

Что лучше auto или указывать точный тип переменно?

Добрый день.
вот все же добрался до решапера и возник небольшой вопрос, так как он по всему коду советует поменять точный тип, указанный мною, на auto.
для чего это он делает ?
  • Вопрос задан
  • 169 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
Ashur_451
@Ashur_451
Все зависит от контекста применения.

1)
var list = new ObservableCollection<SomeReallyLongTypeName>();

Здесь как бы и так понятно что за тип будет у list и нет особого смысла явно говорить про это.
Таким образом мы сокращаем код и его удобней читать.

2)
ComplexType businessObject = DoSomeWork().OtherWork(a,b).GetResult(someArgs);

Здесь стоит задуматся об очевидности возвращаемого типа , иногда будет удобней все-таки оставить конкретный тип.
Хотя если мы используем LINQ все же принято его юзать с auto типами.

P.S. Решарпер классная штука но не всегда стоит вестись на все что он говорит. Почитайте Мартина "Чистый Код" или нечто в этом духе, будете себя чувствовать несколько уверенней в этих тонкостях.

P.P.S Я ужасно пишу, я знаю, сорри;)
Ответ написан
Комментировать
xakpc
@xakpc
full-stack .net developer, CEO Leecero.com
это вопрос code conventions.

Дам пример из c# (там var вместо auto)
например если у нас простой тип или создается локальная переменная куда кладется что-то неизвестного типа
int i = 5; 
// или
double localF = _globalF;

Если же у нас создается коллекция или класс - и из строчки создания понятно что за тип то я предпочитаю var
var c = new MySuperLongClassName(); 
// или
var lm = new List<Model>();
Ответ написан
Комментировать
@DancingOnWater
Краткость записи. Классический пример использование - использование итераторов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы