|
Неявное объявления переменных через var
|
|||
---|---|---|---|
#18+
Изопропил Код: c# 1. 2.
разница естьУгу. Для приведения к базовым и интерфейсам следует можно использовать непосредственное объявление типа. В этом случае нет повтора. Или можно написать так: Код: c# 1.
В этом случае сразу видно, что идет приведение типов. А не ошибка программера, который при копипасте в одном мест изменил тип, а в другом забыл... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2015, 17:23 |
|
Неявное объявления переменных через var
|
|||
---|---|---|---|
#18+
bazileVarcom Код: c# 1.
Нормальное применение. Тип переменной ясно виден. Повторение типа не сделает этот код лучше. Сделает. Конструкция Тип Имя = воспринимется проще, чем var Имя = какие-то действия, где есть тип bazileСпорный пример. ... Если данный метод используется часто в коде, то использование var скорее всего оправдано т.к. программисты помнят тип возращаего значения. Зачем полагаться на "помнят", "знают" и т.д.? Почему бы не прописать сразу явно, чтобы не было проблем ни у профей, ни у новичков? Почему, когды мы пишем код, то полагаем, что с ним будем работать либо только мы сами, либо профессионалы, которым и так все понятно? Roman Mejtesдурная мода? кто тебе сказал, что она дурная? это твоё личное мнение так что такие вырожиния стоит держать при себе. Microsoft: https://msdn.microsoft.com/ru-ru/library/bb384061.aspx Использование ключевого слова var может оказаться целесообразным в выражениях запроса, где определение точного конструируемого типа переменной запроса является сложной задачей. Однако использование ключевого слова var может сделать код более трудным для понимания другими разработчиками. По этой причине в документации по C# ключевое слово var обычно используется только при необходимости. Roman Mejtesесли тебе не понятно, какой тип объявляется в строке var formContent = new FormUrlEncodedContent(pairs), то проблема не в моде. Компилятору понятно. Мне непонятно. Если ты работаешь со своим кодом, нет проблем с пониманием типов переменных. Ты уже давно привык к своим наименованиям и своей логике. Но, когда начинаешь разбираться с чужим кодом, начинается ад. Мало того, что код незнакомый, невнятный, так еще и невозможно визуально определить, какой параметр за что отвечает. Roman MejtesБолее того, если навести курсор на тип var будет видно, что он объявлен вполне себе явно, это не тип variable. Т.е. дополнительным физическим усилием мы исправляем визуальный недостаток кода. И во время изучения кода, начинаем прокачивать не только мозги, но и мышцы, целый день порхая курсором мыши от одной переменной к другой. Я уж не говорю про изучение кода в процессе отладки, когда отображение информации о типах отключается. Вопрос: нахуа все это? Нельзя ли сразу внятно описывать типы, чтобы впоследствии не бегать курсором по экрану? PallarisГлавное правильно имена переменным выбирать Это ты скажи тем горе-программистам, которые обычно пишут говно-код. Сколько я ни работал в разных конторах, очень мало где пишут академически-правильный, вылизанный код. В большинстве случаев, пишут, как бог на душу положит. Да еще когда начальство все время подгоняет, вообще не до продумавыния имен. Вот и получается, мало того, что все имена невнятные, так еще и типизацию скрывают. refregТоже так считал, пока не попал в контору, где обязательным стоит решарпер. Сейчас мнение изменилось на противоположное. использование var вместо явного указания типа Читал. "использование var принуждает вас более грамотно называть сами переменные." Разработчики решарпера выработали для себя определенную систему правил кодирования, придерживаются ее, и при этом, всерьез полагают, что все программисты в мире также стремятся придерживаться хороших манер программирования. А по факту получается, щас быстренько че-нить состряпаю, лишь бы начальству показать. И не важно, как оно внутри все выглядит, лишь бы работало. И никого использование var ни к чему не принуждает. Просто ухудшает читабельность кода и все. Лично я считаю оправданным использование var в двух случаях: 1. Когда используются анонимные типы. 2. Когда используется переменная с очень длинным наименованием типа, либо с очень сложным типом (вложенные дженерики и др.) Во всех остальных случаях использование var считаю неопраданным. Просто, кому-то очень лень писать корректный, визуально понятный код, вот и упрощает себе текущую работу, в ущерб будущим доработкам и будущим разработчикам. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2015, 19:06 |
|
Неявное объявления переменных через var
|
|||
---|---|---|---|
#18+
Изопропил Код: c# 1. 2.
А если так? Код: c# 1.
Офигительно понятно, какой тип у f ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2015, 19:12 |
|
Неявное объявления переменных через var
|
|||
---|---|---|---|
#18+
Ждем когда и var уберут. Не нужен он. Код: c# 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2015, 19:24 |
|
Неявное объявления переменных через var
|
|||
---|---|---|---|
#18+
У ТС-а походу реально накипело. Устал чужой говно-код рефакторить видимо. Varcom, узбагойтесь, проблема не в var :) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2015, 19:30 |
|
Неявное объявления переменных через var
|
|||
---|---|---|---|
#18+
skyANAУ ТС-а походу реально накипело. Устал чужой говно-код рефакторить видимо. Varcom, узбагойтесь, проблема не в var :) Два месяца назад я работал в одной конторе, где сидели говно-кодеры и писали свой говно-код, но без var. Теперь я работаю в другой конторе, где тоже пишут говно-код, но теперь только через var. "Почувствуйте разницу". ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2015, 19:42 |
|
Неявное объявления переменных через var
|
|||
---|---|---|---|
#18+
Cat2Изопропил Код: c# 1. 2.
А если так? Код: c# 1.
Офигительно понятно, какой тип у fЧто вы привязались к тому, что возвращают методы? Вообще, обычно (не всегда), можно возврат из методов вставлять в код без предварительного объявления (и инициализации) переменной. А если уж сохранили возврат из методов в переменной, то потом эту переменную все равно придется куда-то всунуть. И уже, не так важно какой тип у переменной . Главное что бы там, куда ее потом засунули понимали, то что вернул этот метод. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2015, 19:44 |
|
Неявное объявления переменных через var
|
|||
---|---|---|---|
#18+
refreg. И уже, не так важно какой тип у переменной . очень важно, дабы лишнего не получить ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2015, 19:47 |
|
Неявное объявления переменных через var
|
|||
---|---|---|---|
#18+
Изопропилrefreg. И уже, не так важно какой тип у переменной . очень важно, дабы лишнего не получитьЯ бы от лишних денег не отказался, но ты видимо, не о них. Вопрос - как тип переменной может исправить неправильный возврат из метода? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2015, 19:51 |
|
Неявное объявления переменных через var
|
|||
---|---|---|---|
#18+
refregВопрос - как тип переменной может исправить неправильный возврат из метода? он может ограничить доступ к ненужным свойствам/методам/полям ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2015, 19:55 |
|
Неявное объявления переменных через var
|
|||
---|---|---|---|
#18+
ИзопропилrefregВопрос - как тип переменной может исправить неправильный возврат из метода? он может ограничить доступ к ненужным свойствам/методам/полямТо есть для неявного "приведения типа". Можно использовать явное плюс var. Но вообще, об этом уже было, как минимум два поста. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2015, 20:02 |
|
Неявное объявления переменных через var
|
|||
---|---|---|---|
#18+
VarcomКомпилятору понятно. Мне непонятно. Если ты работаешь со своим кодом, нет проблем с пониманием типов переменных. Ты уже давно привык к своим наименованиям и своей логике. Но, когда начинаешь разбираться с чужим кодом, начинается ад. Мало того, что код незнакомый, невнятный, так еще и невозможно визуально определить, какой параметр за что отвечает. Это ты скажи тем горе-программистам, которые обычно пишут говно-код. Сколько я ни работал в разных конторах, очень мало где пишут академически-правильный, вылизанный код. В большинстве случаев, пишут, как бог на душу положит. Да еще когда начальство все время подгоняет, вообще не до продумавыния имен. Вот и получается, мало того, что все имена невнятные, так еще и типизацию скрывают. слушай, ну в конце концов, стань начальником, настрой какую-нибудь систему контроля стилей кода на всех компах, так чтоб не компилировалось если есть var, следи за качеством кода - и не парься, делов то меньше, чем слов ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2015, 20:40 |
|
Неявное объявления переменных через var
|
|||
---|---|---|---|
#18+
17-77стань начальником Как не странно, но многих эта перспектива сильно пугает. Несмотря на уровень роста ЗП. По сути это совсем другая работа, может по этому. Одно дело критиковать без какой либо ответственности и не быть услышанным, другое принимать решения и за них отвечать. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2015, 21:09 |
|
Неявное объявления переменных через var
|
|||
---|---|---|---|
#18+
refregМожно использовать явное плюс var. Оккам негодует ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2015, 21:10 |
|
Неявное объявления переменных через var
|
|||
---|---|---|---|
#18+
ИзопропилrefregМожно использовать явное плюс var. Оккам негодуетТочно, именно он, и объясняет почему, необходимо использовать var ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2015, 21:53 |
|
Неявное объявления переменных через var
|
|||
---|---|---|---|
#18+
Dima T17-77стань начальником Как не странно, но многих эта перспектива сильно пугает. Несмотря на уровень роста ЗП. По сути это совсем другая работа, может по этому. Одно дело критиковать без какой либо ответственности и не быть услышанным, другое принимать решения и за них отвечать. есть варианты, я стал ведущим - и настроил стили кода (но var у меня присутствовал, зато всех заставлял писать полные имена типов - Int32 вместо int), а потом каждый день делал ревью кода для всех участников команды, потому что не хотел, чтобы система зарастала говнокодом, попутно занимался и самим программированием ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2015, 07:06 |
|
Неявное объявления переменных через var
|
|||
---|---|---|---|
#18+
VarcomskyANAУ ТС-а походу реально накипело. Устал чужой говно-код рефакторить видимо. Varcom, узбагойтесь, проблема не в var :) Два месяца назад я работал в одной конторе, где сидели говно-кодеры и писали свой говно-код, но без var. Теперь я работаю в другой конторе, где тоже пишут говно-код, но теперь только через var. "Почувствуйте разницу".я привык оперировать code metrics, а не ощущениями... Снимите метрики, или загоните свой солюшн в SonarQube, увидите, что проблемы не в var. Проведите рефакторинг и "почувствуйте разницу" :) p.s.: в метрики ткните носом ваших говнокодеров ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2015, 10:10 |
|
Неявное объявления переменных через var
|
|||
---|---|---|---|
#18+
VarcomЯ предпочитаю явно задавать тип переменной: Код: c# 1. 2.
Плин, сообщения нельзя редактировать Все зависит от ситуации. В 1м случае однозначно var - иначе вы делаете работу аутиста. Во втором предпочтительно явное указание типа, т.к. метод в отличие от конструктора не дает однозначное понятие о возвращаемом типе. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2015, 06:17 |
|
Неявное объявления переменных через var
|
|||
---|---|---|---|
#18+
LameUserВо втором предпочтительно явное указание типа, т.к. метод в отличие от конструктора не дает однозначное понятие о возвращаемом типе.Ну и что? Подсказок в редакторе VS нету? В блокноте пишем? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2015, 06:30 |
|
Неявное объявления переменных через var
|
|||
---|---|---|---|
#18+
Алексей КНу и что? Подсказок в редакторе VS нету? В блокноте пишем? вызывающему коду зачастую незачем знать конкретный тип, возвращаемый методом, меньше знаешь - крепче спишь ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2015, 09:11 |
|
Неявное объявления переменных через var
|
|||
---|---|---|---|
#18+
Алексей КLameUserВо втором предпочтительно явное указание типа, т.к. метод в отличие от конструктора не дает однозначное понятие о возвращаемом типе.Ну и что? Подсказок в редакторе VS нету? В блокноте пишем?Толсто. Прикинь, код не только пишут, но иногда и читают. Другие люди, во время Code Review. И используют при этом Crusible к примеру. Или бывает вливают (merge) к себе изменения из другой ветки и разрешают (resolve) конфликты. Или просто историю изменений просматривают в TortoiseHG. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2015, 09:18 |
|
Неявное объявления переменных через var
|
|||
---|---|---|---|
#18+
LameUserVarcomЯ предпочитаю явно задавать тип переменной: Код: c# 1. 2.
Плин, сообщения нельзя редактировать Все зависит от ситуации. В 1м случае однозначно var - иначе вы делаете работу аутиста. Во втором предпочтительно явное указание типа, т.к. метод в отличие от конструктора не дает однозначное понятие о возвращаемом типе. Не согласен, ИМХО во втором случае стоит переменные иначе назвать и сразу станет всё понятно: Код: c# 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2015, 09:31 |
|
Неявное объявления переменных через var
|
|||
---|---|---|---|
#18+
skyANAАлексей Кпропущено... Ну и что? Подсказок в редакторе VS нету? В блокноте пишем?Толсто. Прикинь, код не только пишут, но иногда и читают. Другие люди, во время Code Review. И используют при этом Crusible к примеру. Или бывает вливают (merge) к себе изменения из другой ветки и разрешают (resolve) конфликты. Или просто историю изменений просматривают в TortoiseHG.Меня меньше всего интересуют проблемы этих добрых людей. :-) Сами себе создают проблемы, пусть сами их и решают. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2015, 09:34 |
|
Неявное объявления переменных через var
|
|||
---|---|---|---|
#18+
Алексей КСами себе создают проблемы, пусть сами их и решают. ты ж писатель, а не читатель ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2015, 09:35 |
|
|
start [/forum/topic.php?fid=20&msg=39007355&tid=1401344]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
89ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 322ms |
total: | 513ms |
0 / 0 |