|
Reshareper
|
|||
---|---|---|---|
#18+
Поставил себе сей плагин по рекомендации 1 человека, чисто пощупать :) куча возможностей рефакторинга, решарпер подсказывает всюду как и что делать, всё очень круто. но вот на такую строку List<string> cultureList = new List<string>(); он советуем мне "Use implicitly typed local variable declaration" (предлагает сделать cultureList типа var) возникает вопрос, нафига? в чем фишка я не пойму, я же явно указываю класс и тут же создаю экземпляр этого класса. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2013, 08:36 |
|
Reshareper
|
|||
---|---|---|---|
#18+
Roman Mejtes, считает, что можно обойтись одним явным указанием типа переменной. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2013, 09:04 |
|
Reshareper
|
|||
---|---|---|---|
#18+
Roman Mejtes, Чтобы вы не повторялись (DRY). Также см. http://msdn.microsoft.com/en-us/library/vstudio/ff926074.aspx (секция Implicitly Typed Local Variables) P.S.: В таком случае предлагать изменять List<string> на var уже не будет: Код: c# 1.
где GetCultureList это: Код: c# 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2013, 09:53 |
|
Reshareper
|
|||
---|---|---|---|
#18+
enigmatic, что то я туплю, но мне не понятен смысл этого действия по сути var может принимать экземпляры любых классов, но если я и так заранее знаю какой тип будет приниматься, зачем мне вообще var? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2013, 10:05 |
|
Reshareper
|
|||
---|---|---|---|
#18+
Roman Mejtes, предлагается использовать var там, где очевидно какой тип у объявляемой переменной. Что Вам не ясно-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2013, 10:11 |
|
Reshareper
|
|||
---|---|---|---|
#18+
skyANA, я понимаю, что исходя из правой части, тип переменной очевиден и даже если я укажу var интерпретатор, отладчик и другие смогут определить какой класс присвоен переменной типа var. вопрос в другом, нафига? для меня это тоже очевидно, по этому я сразу в левой части указываю имя класса. то есть это ради сокращения набивания ненужного текста? или это ради каких то других целей? ведь по сути оба варианта правильнее, и меня всегда долбили тем, что все переменные должны быть объявлены явно , бла бла бла. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2013, 10:18 |
|
Reshareper
|
|||
---|---|---|---|
#18+
skyANA, ну в этой статье противоречий хватает основная суть как я уже писал это использование анонимных классов и тупо для "удобства" восприятия кода авторКлючевое слово var удобно, когда определенный тип переменной сложно вводить с клавиатуры, либо он является очевидным, либо не повышает удобочитаемость кода. Примером подобного применения ключевого слова var служит ситуация со вложенными универсальными типами, которые используются операциях по группировке. В следующем запросе используется переменная запроса с типом IEnumerable<IGrouping<string, Student>>. При условии, что пользователи, работающие с кодом, понимают данные принципы, не возникнет никаких проблем с использованием неявной типизации для удобства и краткости. и тут же типа, если что мы не виноваты и вас предупреждали: авторОднако использование ключевого слова var может сделать код более трудным для понимания другими разработчиками. По этой причине в документации по C# ключевое слово var обычно используется только при необходимости. skyANA вы сама используйте var в случаи если имя класса можно определить из правой части команды присвоения? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2013, 10:41 |
|
Reshareper
|
|||
---|---|---|---|
#18+
Roman Mejtesради сокращения набивания ненужного текста?Да. авторОднако использование ключевого слова var может сделать код более трудным для понимания другими разработчиками. По этой причине в документации по C# ключевое слово var обычно используется только при необходимости.Тема весьма холивористая, поэтому бессмысленно советовать или не советовать использовать var. Сторонников обоих подходов хватает. Можно использовать гугл и найти тонну информации по этой теме, а затем уже всё решить для себя. Возвращаясь к начальному вопросу: Решарпер предлагает вам заменить List<string> на var в: Код: c# 1.
Зачем? Ответ: он считает, что писать List<string> cultureList избыточно, поскольку из правой части и так понятно, что cultureList это List<string>. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2013, 10:59 |
|
Reshareper
|
|||
---|---|---|---|
#18+
enigmatic, дак отключи в настройках эту рекомендацию,.. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2013, 11:31 |
|
Reshareper
|
|||
---|---|---|---|
#18+
Roman Mejtesосновная суть как я уже писалГде писали? Roman Mejtesтупо для "удобства" восприятия кодаРазочарованы? Roman MejtesВы самаЯ "само" Roman Mejtesиспользуйте var в случаи если имя класса можно определить из правой части команды присвоения?Доа. P.S.: вообщем в MSDN всё написано. Если мало, то ищите в гугле по строке: "C# использование var". Кстати, почему Вы это ещё не сделали? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2013, 11:32 |
|
Reshareper
|
|||
---|---|---|---|
#18+
enigmatic, вообще я начал пробовать использовать var прикольно и удобно =) но одно но когда я пишу int j = 0; он говорит. что бы я int указал как var, а может я предполагал какой то другой класс? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2013, 11:34 |
|
Reshareper
|
|||
---|---|---|---|
#18+
Где-то в степиenigmatic, дак отключи в настройках эту рекомендацию,..Это не рекомендация, а всего-лишь suggestion (предложение). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2013, 11:35 |
|
Reshareper
|
|||
---|---|---|---|
#18+
skyANA, ну щас мы и филфак будем окучивать..)) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2013, 11:40 |
|
Reshareper
|
|||
---|---|---|---|
#18+
Где-то в степиskyANA, ну щас мы и филфак будем окучивать..))А походу надо:Roman Mejtesкогда я пишу int j = 0; он говорит. что бы я int указал как var , а может я предполагал какой то другой класс? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2013, 11:56 |
|
Reshareper
|
|||
---|---|---|---|
#18+
P.S.: кстати int - это структура. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2013, 11:59 |
|
Reshareper
|
|||
---|---|---|---|
#18+
Roman Mejtesкогда я пишу int j = 0; он говорит. что бы я int указал как var, а может я предполагал какой то другой класс? Ну так правильно. 0 по умолчанию - это int вот если бы было 0L - это long ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2013, 12:04 |
|
Reshareper
|
|||
---|---|---|---|
#18+
Arm790 по умолчанию - это int Не по умолчанию, а по определению. Числовой литерал без десятичной точки и спецификатора типа, лежащий в интервале Int32, всегда рассматривается как Int32. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2013, 15:38 |
|
Reshareper
|
|||
---|---|---|---|
#18+
Dictionary<string,List<mytype>>items = new Dictionary<string,List<mytype>>() не лениво набирать? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2013, 17:03 |
|
Reshareper
|
|||
---|---|---|---|
#18+
Roman Mejtesвозникает вопрос, нафига? в чем фишка я не пойму, я же явно указываю класс и тут же создаю экземпляр этого класса. Боянистый вопрос, ответ был прост, в общем случае потерь в производительности от явного указания типа переменой и использования var нет, посему более правильно указывать var, что позволяет экономит время программисту в случае смены типа переменой, т.е. типа меньше движений коду, проще отладка как то так. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2013, 18:07 |
|
Reshareper
|
|||
---|---|---|---|
#18+
Asm64Dт.е. типа меньше движений коду, проще отладка как то так. Я помню когда это появилось в Решарпере очень многие спорили с разработчиками по этому вопросу, в следующим билде разработчики сделали возможность отключения это подсказки в настройках. Я вот как-то привык к var иногда удобно. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2013, 18:10 |
|
Reshareper
|
|||
---|---|---|---|
#18+
Asm64D, да, спасибо всем за ответы! я правда не в курсе был о холиваре по этому поводу )) но просто меня во всех книгах долбили этими явными указаниями типа, бла бла бла и в итоге я всегда делал так как раньше. Попробовал вариант который мне предложил ReSharper, выслушал ваше мнение и советы и пришел к выводу, что использование var действительно удобно :) осталось, только приучить себя делать сразу через var ) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 06:53 |
|
Reshareper
|
|||
---|---|---|---|
#18+
Roman Mejtesно просто меня во всех книгах долбили этими явными указаниями типа, бла бла бла и в итоге я всегда делал так как раньшеЧто-то Вы путаете, раньше не было НЕявного указания типа, поэтому странно, что Вы нашли книгу, где долбили обратным. Что за книга? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 08:16 |
|
Reshareper
|
|||
---|---|---|---|
#18+
skyANARoman Mejtesно просто меня во всех книгах долбили этими явными указаниями типа, бла бла бла и в итоге я всегда делал так как раньшеЧто-то Вы путаете, раньше не было НЕявного указания типа, поэтому странно, что Вы нашли книгу, где долбили обратным. Что за книга?Ничего не путает. Да, раньше не было НЕявного указания типа и, да, в книгах долбили этими явными указаниями. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 08:49 |
|
Reshareper
|
|||
---|---|---|---|
#18+
skyANA, В таких языка как VB , QB к примеру существовал тип Variant ужасно медлительный и приводивший к полному аналкарнавалу в коде :) в книгах по С++ такая форма записи если мне не изменяет память просто норма. Но там вроде и var нету ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 09:21 |
|
Reshareper
|
|||
---|---|---|---|
#18+
Roman Mejtes, А вы, часом, var (implcitly-typed variables) с variant (untyped variables) не путаете? Это две большие разницы, если что. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 09:26 |
|
Reshareper
|
|||
---|---|---|---|
#18+
Roman MejtesВ таких языка как VB, QB...Ну давайте ещё "Пылесосик" с "Кенгурёнком" вспомним ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 09:50 |
|
Reshareper
|
|||
---|---|---|---|
#18+
enigmaticskyANAпропущено... Что-то Вы путаете, раньше не было НЕявного указания типа, поэтому странно, что Вы нашли книгу, где долбили обратным. Что за книга?Ничего не путает. Да, раньше не было НЕявного указания типа и, да, в книгах долбили этими явными указаниями.Вы тоже имеете ввиду книги НЕ по C#? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 09:53 |
|
Reshareper
|
|||
---|---|---|---|
#18+
skyANAenigmaticпропущено... Ничего не путает. Да, раньше не было НЕявного указания типа и, да, в книгах долбили этими явными указаниями.Вы тоже имеете ввиду книги НЕ по C#?Разве речь была о книгах не по C#? =) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 10:36 |
|
Reshareper
|
|||
---|---|---|---|
#18+
enigmaticskyANAпропущено... Вы тоже имеете ввиду книги НЕ по C#?Разве речь была о книгах не по C#? =)На мой вопрос: "Что за книга?", - автор ответил так: 13992173 . Из чего можно заключить, что он имел таки ввиду книги не по C#. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 12:32 |
|
Reshareper
|
|||
---|---|---|---|
#18+
ну все не успокоимся, это ж синтаксический сахар, просто к нему надо привыкнуть, к разрастанию кода в итоговой сборке он не ведет равно как и к быстродействию ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 12:55 |
|
Reshareper
|
|||
---|---|---|---|
#18+
skyANAenigmaticпропущено... Разве речь была о книгах не по C#? =)На мой вопрос: "Что за книга?", - автор ответил так: 13992173 . Из чего можно заключить, что он имел таки ввиду книги не по C#.В контексте данного вопроса и данного раздела было бы логично предположить, что речь шла о книгах по C#, но на деле получается что это не так =) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 13:14 |
|
Reshareper
|
|||
---|---|---|---|
#18+
Где-то в степи вот что гугл вывалил, вполне логично и объективно. Вот здесь даются лучшие рекомендации: http://blogs.msdn.com/b/ericlippert/archive/2011/04/20/uses-and-misuses-of-implicit-typing.aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 13:16 |
|
Reshareper
|
|||
---|---|---|---|
#18+
enigmaticskyANAпропущено... На мой вопрос: "Что за книга?", - автор ответил так: 13992173 . Из чего можно заключить, что он имел таки ввиду книги не по C#.В контексте данного вопроса и данного раздела было бы логично предположить, что речь шла о книгах по C#, но на деле получается что это не так =)То есть Вы-то как раз про книги по C# говорили. Хорошо. Пример книги привести можете, где "долбили этими явными указаниями"? К примеру у у Андрюши Троелсена такого не припомню. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 13:44 |
|
Reshareper
|
|||
---|---|---|---|
#18+
skyANAenigmaticпропущено... В контексте данного вопроса и данного раздела было бы логично предположить, что речь шла о книгах по C#, но на деле получается что это не так =)То есть Вы-то как раз про книги по C# говорили. Хорошо. Пример книги привести можете, где "долбили этими явными указаниями"? К примеру у у Андрюши Троелсена такого не припомню. Например в Johnson Glenn - Accessing Data with Microsoft .NET Framework 4 - 2011. Положил на скайдрайв: http://sdrv.ms/YZqNca Это 18-я страница. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 14:03 |
|
Reshareper
|
|||
---|---|---|---|
#18+
skyANA, что вы так за это ухватились? да я 100500 примеров таких видел на MSDN раньше и сейчас есть. я же сказал =) всем большое спасибо, я не знал, что это тема холиварная и понимаю уже, что зря её начал. Удобства использования var я оценил ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 14:25 |
|
Reshareper
|
|||
---|---|---|---|
#18+
enigmatic, походу Вы слову "долбили" придаёте другое значение, нежели автор:Roman Mejtesи меня всегда долбили тем, что все переменные должны быть объявлены явно , бла бла бла.. И в указанной Вами книге этого не нашёл. Да и var там используется во многих примерах: ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 14:33 |
|
Reshareper
|
|||
---|---|---|---|
#18+
skyANA, И во многих не используется. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 14:37 |
|
Reshareper
|
|||
---|---|---|---|
#18+
Roman MejtesskyANA, что вы так за это ухватились? да я 100500 примеров таких видел на MSDN раньше и сейчас есть. я же сказал =)А Вы не пытайтесь сделайть из примера на MSDN утверждение: "меня всегда долбили тем, что все переменные должны быть объявлены явно, бла бла бла". Нельзя было до версии 3.0 объявить переменную НЕявно, следовательно и долбить Вас этим не могли, следовательно Вы что-то попутали, когда топик создавали. Надо было просто по C# доку почитать, а не VB, QB или C++ ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 14:44 |
|
Reshareper
|
|||
---|---|---|---|
#18+
enigmaticskyANA, И во многих не используется.И из этого следует то, что атор книги долбит тем, что "все переменные должны быть объявлены явно"? Вообщем тему можно закрывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 14:46 |
|
Reshareper
|
|||
---|---|---|---|
#18+
skyANA, Вообще-то из этого ничего не следует, но тему действительно можно закрывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 14:53 |
|
Reshareper
|
|||
---|---|---|---|
#18+
enigmaticВообще-то из этого ничего не следует, но тему действительно можно закрывать.Значит Ваш пример не в кассу, согласны? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 14:59 |
|
Reshareper
|
|||
---|---|---|---|
#18+
а как сделать, чтобы этот ваш Resharper не жрал так много памяти на крупных проектах? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 15:36 |
|
Reshareper
|
|||
---|---|---|---|
#18+
jbond81, попробовать выгрузить неиспользуемые проекты, закрыть ненужные вкладки. У меня VS 2010 + ReSharper с открытым в ней решением (Solution) из 322-х проектов отжирает 1430 мега. И меня это не парит. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 16:05 |
|
Reshareper
|
|||
---|---|---|---|
#18+
ReSharper 7.0.1 Full Version. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 16:06 |
|
Reshareper
|
|||
---|---|---|---|
#18+
там справа снизу можно дабл кликнуть и он мусор соберет :D ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 17:09 |
|
Reshareper
|
|||
---|---|---|---|
#18+
Denis., справа снизу дабл кликом включается Solution-Wide Analysis, что ни фига не для сбора мусора предназначен ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 17:25 |
|
Reshareper
|
|||
---|---|---|---|
#18+
skyANA, resharper->options...->general->show managed memory usage in status bar ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2013, 17:38 |
|
|
start [/forum/topic.php?all=1&fid=20&tid=1405089]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
57ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
78ms |
get tp. blocked users: |
1ms |
others: | 439ms |
total: | 627ms |
0 / 0 |