это вопрос code conventions.
Дам пример из c# (там var вместо auto)
например если у нас простой тип или создается локальная переменная куда кладется что-то неизвестного типа
int i = 5;
// или
double localF = _globalF;
Если же у нас создается коллекция или класс - и из строчки создания понятно что за тип то я предпочитаю var
var c = new MySuperLongClassName();
// или
var lm = new List<Model>();