Здравствуйте, Mr.Cat, Вы писали:
MC>Здравствуйте, alvas, Вы писали: MC>>>Хм... А он умеет всякий анализ кода и соответствующие варнинги, как решарпер? A>>Наверное да, но в платной версии. MC>Просто педалить boilerplate (подходит в качестве вольного перевода для "code rush"? ) — это, конечно, здорово, но мне нравятся всякие решарперовские варнинги. С их помощью код становится чище и приятнее.
В версии 5.0 есть Structural Search & Replace — с помощью него можно очень просто написать дополнительные ворнинги и квикфиксы для своего проекта.
Здравствуйте, Mr.Cat, Вы писали:
MC>Просто педалить boilerplate (подходит в качестве вольного перевода для "code rush"? ) — это, конечно, здорово, но мне нравятся всякие решарперовские варнинги. С их помощью код становится чище и приятнее.
Так прорекламируй мне R#. Может и мне захочется. Я серьезно.
Здравствуйте, nikov, Вы писали: N>В версии 5.0
К сожалению, не успел внимательно посмотреть, но по сравнению с 4.5 понравился.
Если б персональную лицензию можно было купить за webmoney/яндексденьги — цены бы ему не было.
Здравствуйте, nikov, Вы писали:
N>Здравствуйте, Mr.Cat, Вы писали:
MC>>Здравствуйте, alvas, Вы писали: A>>>CodeRush Xpress for C# and VB MC>>Хм... А он умеет всякий анализ кода и соответствующие варнинги, как решарпер?
N>По моим впечатлениям, он даже крайне плохо понимает правила C#, например type inference или overload resolution. Как результат, рефакторинги вставляют неправильные типы.
А можно пример? Я пока смотрю бесплатную версию, потом гляну платную. Пока нравится поддержка многих языков. Буду смотреть дальше.
Здравствуйте, Mr.Cat, Вы писали:
MC>Здравствуйте, alvas, Вы писали: A>>CodeRush Xpress for C# and VB MC>Хм... А он умеет всякий анализ кода и соответствующие варнинги, как решарпер?
О каких варнингах речь? О тех что Visual Studio и так выдаёт при компиляции?
Здравствуйте, alvas, Вы писали: A>Так прорекламируй мне R#. Может и мне захочется. Я серьезно.
Решарпер умеет предлагать ряд улучшений в коде. Их много.
1. Во-первых, детектит лишний код: объявления типов, приведения типов, использование "квалифицированных" имен и т.п. Иногда какие-то вещи пишешь, не задумываясь, а решарпер предлагает, как можно написать красивее и короче.
2. Во-вторых, детектит неиспользуемый код, начиная от членов классов и кончая возвращаемым значением функций и вечно истинными/ложными условиями. Позволяет вовремя подчищать легаси. Опять же, код становится чище. К сожалению, 4.5 не может детектить цепочки или циклы (ну циклы еще простительно) неиспользуемых методов. Про 5 — хз.
3. В-третьих, детектит worst practices, например, захват мутируемой переменной замыканием, виртуальный вызов в конструкторе, catch(Exception){} и т.п.
4. В-четвертых, детектит возможные NullReferenceException.
Все это в 4.5 делается per-file, для файла выводится индикатор, "хороший" там код или нет (важность каждой проверки настраивается) и есть навигация по варнингам в виде полосочки рядом со скроллом. Было б еще приольно, если б в солюшн-эксплорере видно было, какой файл "хороший", а какой — не очень.
Здравствуйте, lboss, Вы писали:
MC>>Хм... А он умеет всякий анализ кода и соответствующие варнинги, как решарпер?
L>О каких варнингах речь? О тех что Visual Studio и так выдаёт при компиляции?
Во-первых, решарпер выдает гораздо больше ворнингов (например, он может отловить большинство мест в коде, где может появиться NullReferenceException), а во вторых, они показываются в фоновом режиме сразу в процессе написания кода, без всякой компиляции (код вообще может быть еще не компилируемым).
Здравствуйте, Mr.Cat, Вы писали:
MC> Было б еще приольно, если б в солюшн-эксплорере видно было, какой файл "хороший", а какой — не очень.
В 5.0 подобное есть, но, к сожалению, не в фоновом режиме. Можно вызвать из контекстного меню на солюшене/проекте/папке 'Find Code Issues'. Запустится анализ (опять-таки, к сожалению, не мгновенный), который нарисует дерево всех найденных недостатков в коде, которые можно будет группировать и анализировать как тебе угодно.
Здравствуйте, Mr.Cat, Вы писали:
MC>К сожалению, 4.5 не может детектить цепочки или циклы (ну циклы еще простительно) неиспользуемых методов. Про 5 — хз.
Цепочки не детектятся сразу все специально.
... << RSDN@Home 1.2.0 alpha 4 rev. 1464 on Windows 7 6.1.7600.0>>
Здравствуйте, AndrewVK, Вы писали: AVK>Цепочки не детектятся сразу все специально.
Чтобы быстрее работало? А рассматривается фича "задетектить цепочку специально"?
Здравствуйте, Mr.Cat, Вы писали:
AVK>>Цепочки не детектятся сразу все специально. MC>Чтобы быстрее работало?
В том числе. Но основное — решение по раскручиванию цепочки должен принимать все таки человек.
MC> А рассматривается фича "задетектить цепочку специально"?
Не в курсе.
... << RSDN@Home 1.2.0 alpha 4 rev. 1464 on Windows 7 6.1.7600.0>>
Здравствуйте, AndrewVK, Вы писали: MC>>Чтобы быстрее работало? AVK>В том числе. Но основное — решение по раскручиванию цепочки должен принимать все таки человек.
Мейби. Меня, собственно, интересуют два сценария:
1. Девелопер смотрит на метод, пристально так. "Что-то ты мне не нравишься, давай-ка посмотрим, откуда идут цепочки, в которых ты вызываешься".
2. Девелопер листает код и замечает неиспользуемый метод. "Баа, да тут код еще с русско-японской войны остался, ну-ка покажи-ка мне всю неиспользуемую цепочку".
Ну и в целом, вопрос нахождения неиспользуемого кода мне кажется довольно важным.
Здравствуйте, Mr.Cat, Вы писали:
MC>Мейби. Меня, собственно, интересуют два сценария: MC>1. Девелопер смотрит на метод, пристально так. "Что-то ты мне не нравишься, давай-ка посмотрим, откуда идут цепочки, в которых ты вызываешься".
Это есть.
MC>Ну и в целом, вопрос нахождения неиспользуемого кода мне кажется довольно важным.
Ну, на практике ты удаляешь непосредственно неиспользуемые методы, после чего у тебя подсвечиваются следующие в цепочке. И т.д.
... << RSDN@Home 1.2.0 alpha 4 rev. 1464 on Windows 7 6.1.7600.0>>
Здравствуйте, AndrewVK, Вы писали: MC>>1. Девелопер смотрит на метод, пристально так. "Что-то ты мне не нравишься, давай-ка посмотрим, откуда идут цепочки, в которых ты вызываешься". AVK>Это есть.
А, точно, в 5 вроде видел.
MC>>Ну и в целом, вопрос нахождения неиспользуемого кода мне кажется довольно важным. AVK>Ну, на практике ты удаляешь непосредственно неиспользуемые методы, после чего у тебя подсвечиваются следующие в цепочке. И т.д.
Ну да, получается очень инкрементальный и очень нелегкий процесс. Возможно, просто наболело.
_FR>Не в первый раз пытаюсь [кричать]! Но как-то редко приводит к чему-то, вера пропадает. Потом появляется снова, снова кричу. _FR>"Первый пункт" ИМХО надо делать так, что бы не "по дефолту устраивало среднестатистического пользователя", а что б "по-дефолту не отличалось от поведения студии".
Не не не. Вы решарпер ставите чтобы им пользоваться? Мне как среднестатистическому пользователю решарпера необходимо удобное поведение решарпера, а не студии. А вопли пользователей студии идут лесом. Пусть сначала научатся пользоваться тем что хают.
зы. Я уже вообще не помню как и что там в голой студии. Потому как не надо. Функциональности решарпера хватает за глаза. Правда на голой студии нападает тупняк. Так как руки сами нажимают, а ничего не происходит
P>В том-то и дело, что они едут, едут, едут, а юзинги, по разному отформатированный код и разные стили именования переменных остаются. А с решарпером все светится, рябит, и рука сама жмет ctrl+alt+f
shift+ctrl+alt+f