![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 4 Всего: 26 |
взволновала
![]() http://habrahabr.ru/blogs/net/39231/ Интересно что у нас по этому поводу скажут ![]() ЗЫ Там мне сказать не дают :'( ибо рег закрыт -------------------- Жизнь - печальная штука. |
|||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
Интересная вещь, мне кажется, хотя, по моему мнению, снижает читабельность кода.
|
|||
|
||||
QryStaL |
|
|||
![]() Intellectual feast ![]() ![]() Профиль Группа: Участник Сообщений: 914 Регистрация: 30.11.2005 Репутация: 14 Всего: 32 |
это мягко сказано. Как по мне, аргументация автора статьи недостаточно убедительна. Кроме спорного пункта "использование var приводит к уменьшению «шума» в коде", все остальное - слишком субъективно. А решарпером я не пользуюсь =) -------------------- I don't need a reason being who I am... |
|||
|
||||
nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 4 Всего: 26 |
Вобщем пока что я очень рад , что я не один думаю так как думаю
![]() -------------------- Жизнь - печальная штука. |
|||
|
||||
PashaPash |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 13 Всего: 49 |
IMHO, var можно применять только тогда, когда тип переменной явно упоминается в той же строчке. В остальных случаях получится happy debugging для человека, который будет поддерживать код.
|
|||
|
||||
MasterOfCode |
|
|||
![]() elwin ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 24.4.2008 Где: World.Russia.Tyum en Репутация: 4 Всего: 27 |
Помимо читабельности, это вызовет массу ошибок, если ты первый раз после объявления присвоил переменной значение int, а потом значение string, то компилятор ругаться матом будет. Если уж на то пошло, давайте везде object использовать... ыыы))
![]() -------------------- ![]() |
|||
|
||||
HalkaR |
|
|||
![]() Пуфыстый назгул ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2132 Регистрация: 8.12.2002 Где: В Москве Репутация: 14 Всего: 42 |
var можно использовать только явно определяя тип (либо с анонимными типами, но это отдельная песня). Так что не волнуйся по другому просто не получится сделать. |
|||
|
||||
MasterOfCode |
|
|||
![]() elwin ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 24.4.2008 Где: World.Russia.Tyum en Репутация: 4 Всего: 27 |
интересно такой код скомпилится:
скорее всего нет... -------------------- ![]() |
|||
|
||||
QryStaL |
|
|||
![]() Intellectual feast ![]() ![]() Профиль Группа: Участник Сообщений: 914 Регистрация: 30.11.2005 Репутация: 14 Всего: 32 |
-------------------- I don't need a reason being who I am... |
|||
|
||||
PashaPash |
|
||||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 13 Всего: 49 |
Почувствуй разницу между "упомянуть" и "определить". Явно определить тип так, чтобы его видел компилятор, и явно упомянуть тип для человека на саппорте - разные вещи. Вот скажи, вот в этих строчках явно виден тип переменной? А ведь он там определен.
Кроме того, никто не застрахован от изменения стороннего API, и написание кода без явного упоминания типа переменной - самоубийство. Изменение double на int компилятор проглотит, но потом вылезут ошибки округления, при делении например. Вот хотя бы:
Понять всю опасность var просто - возьмите запущенный кусок кода из своего проекта, с 5-6 локальными переменными. поменяйте явное упоминание типов на var. Через две недели взгляните на него - если не возникнет сомнений относительно типов - то вы компилятор. Это сообщение отредактировал(а) PashaPash - 12.9.2008, 11:47 |
||||||
|
|||||||
Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: нет Всего: 134 |
имхо автоматический вывод рулил, рулит и будет рулить. Не понимаю паники выше отписавшихся. Наверное ocaml и python уже съели мой моск.
-------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
nikitao |
|
||||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 4 Всего: 26 |
Mayk, видимо )))) меня к примеру от слова var трясет )))))
Но вообще господа речь идет несколько о другом как я понял речь идет не о повсеместном использовании var , а об желательном использовании. Ну т е если это ведет к неопределенности как с int и double то ясно что не надо юзать , а вопрос надо ли использовать в в таких случаях
или
лично я резко против ))) -------------------- Жизнь - печальная штука. |
||||
|
|||||
source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 4 Всего: 56 |
+много, сделали бы его в C# ещё помощнее, по аналогии с функциональными языками, а то с var в текущем варианте далеко не уедешь. Хотя, как средство для улучшения читабельности, безусловно стоит применять.
Всем, кому мерещится, что var снижает читабельность и усложняет отладку, рекомендую обратиться к венгерской нотации, уверен, что она вам понравится... ![]() -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
MasterOfCode |
|
|||
![]() elwin ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 24.4.2008 Где: World.Russia.Tyum en Репутация: 4 Всего: 27 |
Напишите хоть одну задачу где без ключевого слова var, не обойтись? Хочется узнать.
![]() -------------------- ![]() |
|||
|
||||
source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 4 Всего: 56 |
MasterOfCode, ты о чём? В CLR нет никаких изменений со времен .NET 2.0, все возможности C# 3.5 - это синтаксический сахар, поэтому твой вопрос лишён смысла. Рекомендую тебе почитать статью - http://rsdn.ru/article/philosophy/SyntacticSugar.xml Более того, открою тебе страшную тайну, нет ни одной задачи, которую бы нельзя было решить на ассемблере, но можно на C#, тут вопрос времени и удобства, а не теоретической возможности. Добавлено через 3 минуты и 13 секунд Плюс ко всему, редко имеет смысл тип объекта сам по себе, гораздо важнее его интерфейс, т.е. набор методов, которые он имеет. Впрочем, это сложно объяснить тем, кто никогда не сталкивался с функциональным программированием... -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |