У меня есть коллега, который против вывода типов в C #.Я полагаю, что большинство его аргументов окружало отсутствие читабельности.Мой аргумент против этого заключается в том, что функции IntelliSense в Visual Studio предоставляют простой способ просмотра типов, и чтение их из кода не так необходимо, как это могло бы быть, если бы мы кодировали из блокнота.
Однако яМне любопытно о преимуществах и недостатках использования вывода типа в C #.Я из C ++, и я знаю, что «auto» в C ++ 0x имеет более объективное преимущество в том, что вы не всегда знаете, какие типы вы получаете (особенно при выполнении сложных шаблонных программ).Примером является использование auto для хранения значения Boost.Bind.
В C # вывод типа не является таким уж большим требованием, как «приятно иметь» или сахар.особенность покрытия.Я думаю, что это было бы полезно, когда вы имеете дело с длинными типами, например:
Lazy<List<MyNamespace.ISomeVeryLongInterfaceType>> myVar = obj.GetLazy();
, это будет:
var myVar = obj.GetLazy();
На мой взгляд, это намного чище.Однако есть ли объективные аргументы для ИЛИ против вывода типа?Является ли это хорошей практикой программирования, чтобы использовать его, даже в ситуациях, когда можно утверждать, что это не дает никакой выгоды (например, использование «var» вместо «int»)?
Некоторая помощь в понимании того, как я должен использовать 'var 'в моем повседневном кодировании было бы здорово.