История изменений
Исправление Norgat, (текущая версия) :
Но ведь это может сделать любая уважающая себя IDE, и при этом не заставлять человека, редактирующего код, лишний раз смотреть, что возвращает та или иная функция, чтобы определить тип переменной, объявленной при помощи var.
Сейчас так:
Map<Integer, String> someMap = new HashMap<Integer, String>();
Предлагают так:
var someMap = new HashMap<Integer, String>();
В первом случае, для написания Map<Integer, String> тебе надо либо набрать строку полностью, либо (M + автокомплит) + (I + автокомплит) + (S + автокомплит). Т.е. придётся сделать явно больше трёх нажатий (автокомплит не волшебник, по M, I, S он не выдаст тебе сразу Map, Integer и String первым номером в списке).
Во втором случае набрать надо только var.
Читабельность кода в данном случае не падает, т.к. тип переменной someMap явно виден (а если и не виден, то плюшки IDE исправят эту ситуацию). А вот писать нужно меньше кода.
P.S. В C# var уже много лет как есть. Никто не умер от его наличия ;)
P.S.S. В for var очень удобен. Выше уже указали на это.
Исправление Norgat, :
Но ведь это может сделать любая уважающая себя IDE, и при этом не заставлять человека, редактирующего код, лишний раз смотреть, что возвращает та или иная функция, чтобы определить тип переменной, объявленной при помощи var.
Сейчас так:
Map<Integer, String> someMap = new HashMap<Integer, String>();
Предлагают так:
var someMap = new HashMap<Integer, String>();
В первом случае, для написания Map<Integer, String> тебе надо либо набрать строку полностью, либо (M + автокомплит) + (I + автокомплит) + (S + автокомплит). Т.е. придётся сделать явно больше трёх нажатий (автокомплит не волшебник, по M, I, S он не выдаст тебе сразу Map, Integer и String первым номером в списке).
Во втором случае набрать надо только var.
Читабельность кода в данном случае не падает, т.к. тип переменной someMap явно виден (а если и не виден, то плюшки IDE исправят эту ситуацию). А вот писать нужно меньше кода.
P.S. В C# var уже много лет как есть. Никто не умер от его наличия ;)
Исходная версия Norgat, :
Но ведь это может сделать любая уважающая себя IDE, и при этом не заставлять человека, редактирующего код, лишний раз смотреть, что возвращает та или иная функция, чтобы определить тип переменной, объявленной при помощи var.
Сейчас так:
Map<Integer, String> someMap = new HashMap<Integer, String>();
Предлагают так:
var someMap = new HashMap<Integer, String>();
В первом случае, для написания Map<Integer, String> тебе надо либо набрать строку полностью, либо (M + автокомплит) + (I + автокомплит) + (S + автокомплит). Т.е. придётся сделать явно больше трёх нажатий (автокомплит не волшебник, по M, I, S он не выдаст тебе сразу Map, Integer и String первым номером в списке).
Во втором случае набрать надо только var.
Читабельность кода в данном случае не падает, т.к. тип переменной someMap явно виден (а если и не виден, то плюшки IDE исправят эту ситуацию). А вот писать нужно меньше кода.