powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Reshareper
50 сообщений из 50, показаны все 2 страниц
Reshareper
    #38167437
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поставил себе сей плагин по рекомендации 1 человека, чисто пощупать :)
куча возможностей рефакторинга, решарпер подсказывает всюду как и что делать, всё очень круто.
но вот на такую строку

List<string> cultureList = new List<string>();
он советуем мне "Use implicitly typed local variable declaration" (предлагает сделать cultureList типа var)
возникает вопрос, нафига? в чем фишка я не пойму, я же явно указываю класс и тут же создаю экземпляр этого класса.
...
Рейтинг: 0 / 0
Reshareper
    #38167458
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes, считает, что можно обойтись одним явным указанием типа переменной.
...
Рейтинг: 0 / 0
Reshareper
    #38167499
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes,

Чтобы вы не повторялись (DRY).

Также см. http://msdn.microsoft.com/en-us/library/vstudio/ff926074.aspx (секция Implicitly Typed Local Variables)

P.S.:
В таком случае предлагать изменять List<string> на var уже не будет:
Код: c#
1.
List<string> cultureList = GetCultureList();

где GetCultureList это:
Код: c#
1.
2.
3.
List<string> GetCultureList(){
// smth-smth...
}
...
Рейтинг: 0 / 0
Reshareper
    #38167511
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmatic,

что то я туплю, но мне не понятен смысл этого действия
по сути var может принимать экземпляры любых классов, но если я и так заранее знаю какой тип будет приниматься, зачем мне вообще var?
...
Рейтинг: 0 / 0
Reshareper
    #38167528
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes, предлагается использовать var там, где очевидно какой тип у объявляемой переменной. Что Вам не ясно-то?
...
Рейтинг: 0 / 0
Reshareper
    #38167543
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

я понимаю, что исходя из правой части, тип переменной очевиден и даже если я укажу var интерпретатор, отладчик и другие смогут определить какой класс присвоен переменной типа var.
вопрос в другом, нафига? для меня это тоже очевидно, по этому я сразу в левой части указываю имя класса.

то есть это ради сокращения набивания ненужного текста? или это ради каких то других целей? ведь по сути оба варианта правильнее, и меня всегда долбили тем, что все переменные должны быть объявлены явно , бла бла бла.
...
Рейтинг: 0 / 0
Reshareper
    #38167550
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Reshareper
    #38167595
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA, ну в этой статье противоречий хватает
основная суть как я уже писал это использование анонимных классов и тупо для "удобства" восприятия кода
авторКлючевое слово var удобно, когда определенный тип переменной сложно вводить с клавиатуры, либо он является очевидным, либо не повышает удобочитаемость кода. Примером подобного применения ключевого слова var служит ситуация со вложенными универсальными типами, которые используются операциях по группировке. В следующем запросе используется переменная запроса с типом IEnumerable<IGrouping<string, Student>>. При условии, что пользователи, работающие с кодом, понимают данные принципы, не возникнет никаких проблем с использованием неявной типизации для удобства и краткости.

и тут же типа, если что мы не виноваты и вас предупреждали:
авторОднако использование ключевого слова var может сделать код более трудным для понимания другими разработчиками. По этой причине в документации по C# ключевое слово var обычно используется только при необходимости.

skyANA вы сама используйте var в случаи если имя класса можно определить из правой части команды присвоения?
...
Рейтинг: 0 / 0
Reshareper
    #38167628
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesради сокращения набивания ненужного текста?Да.
авторОднако использование ключевого слова var может сделать код более трудным для понимания другими разработчиками. По этой причине в документации по C# ключевое слово var обычно используется только при необходимости.Тема весьма холивористая, поэтому бессмысленно советовать или не советовать использовать var. Сторонников обоих подходов хватает. Можно использовать гугл и найти тонну информации по этой теме, а затем уже всё решить для себя.

Возвращаясь к начальному вопросу:
Решарпер предлагает вам заменить List<string> на var в:
Код: c#
1.
List<string> cultureList = new List<string>();

Зачем?
Ответ: он считает, что писать List<string> cultureList избыточно, поскольку из правой части и так понятно, что cultureList это List<string>.
...
Рейтинг: 0 / 0
Reshareper
    #38167695
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmatic,
дак отключи в настройках эту рекомендацию,..
...
Рейтинг: 0 / 0
Reshareper
    #38167698
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesосновная суть как я уже писалГде писали?
Roman Mejtesтупо для "удобства" восприятия кодаРазочарованы?
Roman MejtesВы самаЯ "само"
Roman Mejtesиспользуйте var в случаи если имя класса можно определить из правой части команды присвоения?Доа.

P.S.: вообщем в MSDN всё написано. Если мало, то ищите в гугле по строке: "C# использование var". Кстати, почему Вы это ещё не сделали?
...
Рейтинг: 0 / 0
Reshareper
    #38167711
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmatic, вообще я начал пробовать использовать var прикольно и удобно =) но одно но

когда я пишу int j = 0; он говорит. что бы я int указал как var, а может я предполагал какой то другой класс?
...
Рейтинг: 0 / 0
Reshareper
    #38167717
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степиenigmatic,
дак отключи в настройках эту рекомендацию,..Это не рекомендация, а всего-лишь suggestion (предложение).
...
Рейтинг: 0 / 0
Reshareper
    #38167732
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,
ну щас мы и филфак будем окучивать..))
...
Рейтинг: 0 / 0
Reshareper
    #38167761
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степиskyANA,
ну щас мы и филфак будем окучивать..))А походу надо:Roman Mejtesкогда я пишу int j = 0; он говорит. что бы я int указал как var , а может я предполагал какой то другой класс?
...
Рейтинг: 0 / 0
Reshareper
    #38167765
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S.: кстати int - это структура.
...
Рейтинг: 0 / 0
Reshareper
    #38167775
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesкогда я пишу int j = 0; он говорит. что бы я int указал как var, а может я предполагал какой то другой класс?

Ну так правильно. 0 по умолчанию - это int
вот если бы было 0L - это long
...
Рейтинг: 0 / 0
Reshareper
    #38168193
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm790 по умолчанию - это int
Не по умолчанию, а по определению. Числовой литерал без десятичной точки и спецификатора типа, лежащий в интервале Int32, всегда рассматривается как Int32.
...
Рейтинг: 0 / 0
Reshareper
    #38168360
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dictionary<string,List<mytype>>items = new Dictionary<string,List<mytype>>()
не лениво набирать?
...
Рейтинг: 0 / 0
Reshareper
    #38168479
Фотография Asm64D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesвозникает вопрос, нафига? в чем фишка я не пойму, я же явно указываю класс и тут же создаю экземпляр этого класса.
Боянистый вопрос, ответ был прост, в общем случае потерь в производительности от явного указания типа переменой и использования var нет, посему более правильно указывать var, что позволяет экономит время программисту в случае смены типа переменой, т.е. типа меньше движений коду, проще отладка как то так.
...
Рейтинг: 0 / 0
Reshareper
    #38168483
Фотография Asm64D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Asm64Dт.е. типа меньше движений коду, проще отладка как то так.
Я помню когда это появилось в Решарпере очень многие спорили с разработчиками по этому вопросу, в следующим билде разработчики сделали возможность отключения это подсказки в настройках. Я вот как-то привык к var иногда удобно.
...
Рейтинг: 0 / 0
Reshareper
    #38168962
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Asm64D,

да, спасибо всем за ответы!
я правда не в курсе был о холиваре по этому поводу )) но просто меня во всех книгах долбили этими явными указаниями типа, бла бла бла и в итоге я всегда делал так как раньше. Попробовал вариант который мне предложил ReSharper, выслушал ваше мнение и советы и пришел к выводу, что использование var действительно удобно :) осталось, только приучить себя делать сразу через var )
...
Рейтинг: 0 / 0
Reshareper
    #38168990
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesно просто меня во всех книгах долбили этими явными указаниями типа, бла бла бла и в итоге я всегда делал так как раньшеЧто-то Вы путаете, раньше не было НЕявного указания типа, поэтому странно, что Вы нашли книгу, где долбили обратным. Что за книга?
...
Рейтинг: 0 / 0
Reshareper
    #38169018
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANARoman Mejtesно просто меня во всех книгах долбили этими явными указаниями типа, бла бла бла и в итоге я всегда делал так как раньшеЧто-то Вы путаете, раньше не было НЕявного указания типа, поэтому странно, что Вы нашли книгу, где долбили обратным. Что за книга?Ничего не путает. Да, раньше не было НЕявного указания типа и, да, в книгах долбили этими явными указаниями.
...
Рейтинг: 0 / 0
Reshareper
    #38169040
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

В таких языка как VB , QB к примеру существовал тип Variant ужасно медлительный и приводивший к полному аналкарнавалу в коде :) в книгах по С++ такая форма записи если мне не изменяет память просто норма. Но там вроде и var нету
...
Рейтинг: 0 / 0
Reshareper
    #38169045
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes,

А вы, часом, var (implcitly-typed variables) с variant (untyped variables) не путаете? Это две большие разницы, если что.
...
Рейтинг: 0 / 0
Reshareper
    #38169085
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman MejtesВ таких языка как VB, QB...Ну давайте ещё "Пылесосик" с "Кенгурёнком" вспомним
...
Рейтинг: 0 / 0
Reshareper
    #38169089
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmaticskyANAпропущено...
Что-то Вы путаете, раньше не было НЕявного указания типа, поэтому странно, что Вы нашли книгу, где долбили обратным. Что за книга?Ничего не путает. Да, раньше не было НЕявного указания типа и, да, в книгах долбили этими явными указаниями.Вы тоже имеете ввиду книги НЕ по C#?
...
Рейтинг: 0 / 0
Reshareper
    #38169159
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAenigmaticпропущено...
Ничего не путает. Да, раньше не было НЕявного указания типа и, да, в книгах долбили этими явными указаниями.Вы тоже имеете ввиду книги НЕ по C#?Разве речь была о книгах не по C#? =)
...
Рейтинг: 0 / 0
Reshareper
    #38169357
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmaticskyANAпропущено...
Вы тоже имеете ввиду книги НЕ по C#?Разве речь была о книгах не по C#? =)На мой вопрос: "Что за книга?", - автор ответил так: 13992173 . Из чего можно заключить, что он имел таки ввиду книги не по C#.
...
Рейтинг: 0 / 0
Reshareper
    #38169403
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну все не успокоимся, это ж синтаксический сахар, просто к нему надо привыкнуть, к разрастанию кода в итоговой сборке он не ведет
равно как и к быстродействию
...
Рейтинг: 0 / 0
Reshareper
    #38169422
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Reshareper
    #38169443
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAenigmaticпропущено...
Разве речь была о книгах не по C#? =)На мой вопрос: "Что за книга?", - автор ответил так: 13992173 . Из чего можно заключить, что он имел таки ввиду книги не по C#.В контексте данного вопроса и данного раздела было бы логично предположить, что речь шла о книгах по C#, но на деле получается что это не так =)
...
Рейтинг: 0 / 0
Reshareper
    #38169447
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Reshareper
    #38169495
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmaticskyANAпропущено...
На мой вопрос: "Что за книга?", - автор ответил так: 13992173 . Из чего можно заключить, что он имел таки ввиду книги не по C#.В контексте данного вопроса и данного раздела было бы логично предположить, что речь шла о книгах по C#, но на деле получается что это не так =)То есть Вы-то как раз про книги по C# говорили. Хорошо. Пример книги привести можете, где "долбили этими явными указаниями"? К примеру у у Андрюши Троелсена такого не припомню.
...
Рейтинг: 0 / 0
Reshareper
    #38169562
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAenigmaticпропущено...
В контексте данного вопроса и данного раздела было бы логично предположить, что речь шла о книгах по C#, но на деле получается что это не так =)То есть Вы-то как раз про книги по C# говорили. Хорошо. Пример книги привести можете, где "долбили этими явными указаниями"? К примеру у у Андрюши Троелсена такого не припомню.
Например в Johnson Glenn - Accessing Data with Microsoft .NET Framework 4 - 2011. Положил на скайдрайв: http://sdrv.ms/YZqNca
Это 18-я страница.
...
Рейтинг: 0 / 0
Reshareper
    #38169615
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,
что вы так за это ухватились? да я 100500 примеров таких видел на MSDN раньше и сейчас есть.
я же сказал =) всем большое спасибо, я не знал, что это тема холиварная и понимаю уже, что зря её начал. Удобства использования var я оценил
...
Рейтинг: 0 / 0
Reshareper
    #38169633
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmatic, походу Вы слову "долбили" придаёте другое значение, нежели автор:Roman Mejtesи меня всегда долбили тем, что все переменные должны быть объявлены явно , бла бла бла..

И в указанной Вами книге этого не нашёл. Да и var там используется во многих примерах:
...
Рейтинг: 0 / 0
Reshareper
    #38169640
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

И во многих не используется.
...
Рейтинг: 0 / 0
Reshareper
    #38169658
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman MejtesskyANA,
что вы так за это ухватились? да я 100500 примеров таких видел на MSDN раньше и сейчас есть.
я же сказал =)А Вы не пытайтесь сделайть из примера на MSDN утверждение: "меня всегда долбили тем, что все переменные должны быть объявлены явно, бла бла бла".
Нельзя было до версии 3.0 объявить переменную НЕявно, следовательно и долбить Вас этим не могли, следовательно Вы что-то попутали, когда топик создавали. Надо было просто по C# доку почитать, а не VB, QB или C++
...
Рейтинг: 0 / 0
Reshareper
    #38169664
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmaticskyANA,

И во многих не используется.И из этого следует то, что атор книги долбит тем, что "все переменные должны быть объявлены явно"?

Вообщем тему можно закрывать.
...
Рейтинг: 0 / 0
Reshareper
    #38169674
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

Вообще-то из этого ничего не следует, но тему действительно можно закрывать.
...
Рейтинг: 0 / 0
Reshareper
    #38169685
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmaticВообще-то из этого ничего не следует, но тему действительно можно закрывать.Значит Ваш пример не в кассу, согласны?
...
Рейтинг: 0 / 0
Reshareper
    #38169750
jbond81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а как сделать, чтобы этот ваш Resharper не жрал так много памяти на крупных проектах?
...
Рейтинг: 0 / 0
Reshareper
    #38169812
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jbond81, попробовать выгрузить неиспользуемые проекты, закрыть ненужные вкладки.

У меня VS 2010 + ReSharper с открытым в ней решением (Solution) из 322-х проектов отжирает 1430 мега.
И меня это не парит.
...
Рейтинг: 0 / 0
Reshareper
    #38169815
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ReSharper 7.0.1 Full Version.
...
Рейтинг: 0 / 0
Reshareper
    #38169919
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
там справа снизу можно дабл кликнуть и он мусор соберет :D
...
Рейтинг: 0 / 0
Reshareper
    #38169953
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis., справа снизу дабл кликом включается Solution-Wide Analysis, что ни фига не для сбора мусора предназначен
...
Рейтинг: 0 / 0
Reshareper
    #38169983
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

resharper->options...->general->show managed memory usage in status bar
...
Рейтинг: 0 / 0
Reshareper
    #38170060
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis., о как! Спасибо.
Будет теперь отвелкать.
...
Рейтинг: 0 / 0
50 сообщений из 50, показаны все 2 страниц
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Reshareper
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]