LINUX.ORG.RU

История изменений

Исправление 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 исправят эту ситуацию). А вот писать нужно меньше кода.