2008: Resharper против CodeRush [закрыто]
Я знаю, что есть много дискуссий, если Resharper или CodeRush лучше. В моей компании мы в настоящее время используем Resharper, и я в порядке с ним.
но на прошлой неделе я смотрел скринкаст о CodeRush и думал, что это было удивительно. Есть просто так много "новых" рефакторингов, что я сразу подумал о миграции.
какой ваш любимый инструмент для рефакторинга, анализа кода, навигации внутри Visual Studio и т. д. И почему? В каких областях, по вашему мнению, Решарпер лучше и в каких областях CodeRush?
18 ответов:
честно говоря, они оба равны задаче. Я обнаружил, что CodeRush/Refactor Pro имеет более крутую кривую обучения, но как только вы обучили себя и окружающую среду (и переключили несколько нажатий клавиш) CodeRush действительно становится эффективным.
ReSharper одинаково хорош и не позволяйте никому вводить вас в заблуждение по этому вопросу. Они не равны, хотя и она будет зависеть от ваших потребностей. CodeRush является более расширяемым (IMO), но если вы перейдете от одного к другому, вы будете отсутствовать пара вещей от другого.
еще в июле я взял месяц, и я сделал именно то, о чем вы говорите (я перешел из ReSharper в CodeRush и написал об этом в блоге).
Я очень доволен конечным результатом (есть пара вещей, которые мне не хватает... Анализ кода CodeRush все еще не совсем на уровне ReSharper и рефакторинга "Move".. кроме того, я нашел все, что мне нужно).
вот мои сообщения в блоге, так что вы можете обратиться к ним (если вы хотеть.)..
Привет CodeRush!
После Недели 1
2 недели с CodeRush
CR / RP WrapupКак я уже сказал, хотя оба инструмента превосходны и в зависимости от вашей готовности изучить новый инструмент, вы можете быть лучше с тем, что у вас есть прямо сейчас.
процесс рефакторинга CodeRush быстрее и плавнее (меньше нажатий клавиш, меньше диалогов - ноль, меньше движений мыши), чем у ReSharper. при переименовании или изменении подписи, которая влияет на многие неоткрытые файлы на диске, CodeRush правильно поддерживает многофайловую отмену. Напротив, ReSharper представляет диалоговое окно с запросом, хотите ли вы отменить поддержку этого переименования, и если вы скажете "да", ReSharper продолжит открывать все файлы, затронутые рефакторингом.
CodeRush больше рефакторинг, чем ReSharper, хотя у ReSharper есть хороший член Move для рефакторинга класса, который еще не попал в CodeRush. ReSharper также имеет хорошую функцию переименования, которая позволяет переименовывать переменные, содержащие имя класса при переименовании этого класса. Например, если я переименую класс "космический корабль" в "космический корабль", ReSharper найдет идентификаторы с именами, такими как "superSpaceship", и предложит их переименовать в "superSpacecraft".
CodeRush немного быстрее, чем ReSharper на Visual Студия запуска проекта. ReSharper использует больше памяти, до шести раз больше на действительно больших решениях (например, 1000+ классов).
ReSharper сообщает о большем количестве проблем с фоновым кодом, чем CodeRush, и проблемы с кодом, которые показывает ReSharper, в целом более полезны (например, тип параметра может быть понижен до класса ближе к объекту), однако CodeRush включает в себя проблему с кодом, которая обнаруживает неразмещенные локальные переменные, которые реализуют IDisposable, что очень важно полезный.
CodeRush поставляет значительно больше шаблонов кода (например, VS Code snippets), чем ReSharper, а шаблоны CodeRush предназначены для оптимальной эффективности (например, "ms" строит метод, который возвращает строку, "vb" создает переменную типа bool и "nl.я " создает новый инициализированный список). Ваши пальцы извлекают выгоду из эффективности, но шаблоны требуют некоторой практики привыкания. Окно обучения CodeRush может облегчить эту кривую обучения, если у вас есть это, пока вы код. Интересно, что шаблоны CodeRush эффективно абстрагируют язык программирования, поэтому разработчики, работающие на более чем одном языке (или переходящие с одного языка на другой), могут нажимать одни и те же нажатия клавиш и получать по существу один и тот же код, независимо от языка, на котором они кодируют.
ReSharper имеет хорошую замену Intellisense и интересную замену наконечника инструмента параметра. У ReSharper есть функция предложения имени переменной, которая полезна. Решарпер также имеет функция переформатирования кода, что очень приятно.
функции TDD-первого объявления CodeRush требуют меньшего количества нажатий клавиш, чем у ReSharper (см. Их в free CodeRush Xpress, который включает в себя большинство функций объявления consume-first, поставляемых в полной версии CodeRush).
окно поиска всех ссылок ReSharper имеет несколько панелей для каждого выполненного поиска, что приятно. CodeRush предоставляет только одну панель для последнего выполненного поиска. CodeRush имеет аккуратный Tab to Next Reference feature, которая проведет вас через все ссылки на идентификатор, просто нажав клавишу Tab (Shift+Tab возвращает вас). CodeRush найти все ссылки появляется быстрее, чем для ReSharper это.
модульный тестовый Бегун CodeRush, выпущенный в 9.3, поддерживает больше тестовых фреймворков из коробки (NUnit, MSTest, xUnit и MbUnit). Тестовый Бегун CodeRush также понимает больше атрибутов фреймворка (например, параметр ExpectedException MatchType NUnit), а также поддерживает динамически генерируемые тесты (например, RowTests, атрибут Values, фабрики, теории и т. д.). Поддержка тестовых платформ является расширяемой, и CodeRush включает исходный код для каждого из плагинов тестовой платформы.
Я долгое время был пользователем CodeRush + RefactorPro, тогда как мой друг в одной команде использует Resharper.
Я действительно хотел бы иметь анализ кода на том же уровне, что и у него в R#. CR просто беден здесь. R# отлично справляется с функциями макета кода, а также имеет достойный тестовый бегун. В CR нет инструментов компоновки и форматирования кода, а Test runner еще не выпущен. Он находится в плановой стадии.
Что касается навигации, мы находим оба инструмента равный.
мой друг завидует мне шаблоны, которые CR имеет. Шаблоны R# далеко позади. Кроме того, кривая обучения R# хуже. CR гораздо легче понять. Кроме того, рефакторинги, предоставляемые Refactor Pro, лучше, чем в R#. С ними просто легче справиться. Итак, с точки зрения написания кода я нахожу CR лучше.
недавно мы оба пытались написать плагины для реализации функций, которые мы видим в противоположном инструменте и хотели бы иметь. Я смог сделать это waaaay легче для CR. Расширяемость DXCore насмехается.
в целом: R# имеет гораздо больше возможностей, но они гораздо труднее учиться. Кроме того, если вы обнаружите, что чего-то не хватает, CR легче расширить.
CodeRush-это то, где он находится у человека. Мне не нравился resharpers intellisense, поэтому я отключил его, что делает resharper менее полезным.
Это Решарпер для меня. Я использую его, так как это первый релиз EAP, и я люблю его на кусочки! Как вы говорите, это гораздо больше, чем рефакторинг - это то, как он поддерживает меня в навигации и понимании кода, что я использую гораздо больше, чем рефакторинг. Две из моих любимых функций-это очистка кода и макет элементов типа.
Я нахожу комментарий Тима интригующим, где он говорит:
Он разумно применяет себя к существующим вещам вы делай
Мне было бы интересно услышать, что это в CodeRush. Я очень уважаю продукты Developer Express.
Я был долгое время пользователем CodeRush и Рефактора! Профессионал. CodeRush-это путь более чем рефакторинг. Как только вы узнаете правила, которые он устанавливает, скорость кодирования увеличивается. Впрочем, даже до вы изучаете правила, он разумно применяет себя к существующим вещам, которые вы делаете, и облегчает их выполнение.
действительно, то, что я больше всего скучаю по кодированию в Ruby on Rails, - это то, что у меня нет IDE с CodeRush и Рефактором! Текст. сообщ связки сделать меня частью но это не одно и то же.
У них есть бесплатная пробная версия, поэтому я призываю вас дать ему запустить и посмотреть, как вам это нравится. Я никогда не оглядывался назад.
Я пробовал и то и другое. JetBrains Resharper намного лучше для меня, чем DevExpress Coderush.
JetBrains лучше с IDE (у них есть своя IDE для java, в конце концов) так же, как DevExpress лучше с красивыми компонентами.
попробовав оба, я бы сказал, что последняя версия CR / R имеет преимущество с точки зрения интеграции с рабочим процессом программирования. Обычно вы не увидите диалог, спрашивающий, хотите ли вы сделать то или это, он просто течет с тем, что вы делаете. Вы всегда внедряющихся все переделывает и т. д. Последняя версия включает в себя ИМХО важно переделывает, как push/способ перемещения. Навигация по вашим классам быстрее в CR / R.
Я заметил также, что производительность в крупных проектах, как правило, лучше в CR / R, чем в Resharper.
поддержка Intellisense лучше в Resharper, а также анализ кода.
есть ли разница в производительности между этими двумя? Я был долгое время пользователем ReSharper, но, наконец, сдался, когда я больше не мог терпеть вялую работу. Чем сложнее становился мой проект (формы и т. д.), тем медленнее становилась машина. Я удалил его, и производительность была намного лучше. Является ли CodeRush таким же вялым?
Я использовал Coderush в течение года до TDD. Теперь я использую Reshaper в течение почти 1,5 лет. Я легко иду в течение часа или двух без использования мыши теперь благодаря R# (только потому, что у меня часто заканчиваются батареи)
Если вы практикуете TDD и или научитесь использовать инструменты полностью, то Resharper-это путь, я ударил много разочарований С CodeRush в TDD, и, похоже, в то время усилия собирались сделать оценку javascript, а не оценивать повышение производительности для core С.#
Если вы тип человека, который использует Resharper для CTRL+T и мыши нажмите рефакторинг, то вы, вероятно, получите больше от Coderush, особенно если генерация свойств, если высоко в вашем списке рассмотрения. День 1 показы CodeRush выигрывает, в равной степени день X, если вы не научитесь охватывать инструменты полностью, но к концу месяца один с твердым eval Resharper выигрывает. В следующий раз, когда вы потянетесь за мышью, спросите, есть ли ярлык для этого, попробуйте.
Resharper имеет более высокий кривая обучения, чтобы начать работать (вам нужно свободно владеть материалом за пределами типа goto) и работает с оптимальным потенциалом с помощью TDD-подхода.
Я не думаю, что есть какие-либо сравнения. Я использовал Resharper в течение многих лет, но как только я переехал в CodeRush, я не оглядываюсь назад. Большой причиной, по которой я перешел в CodeRush, была ужасная производительность Resharpers с VS2010. R# сделал IDE почти непригодной для использования. У меня есть двухъядерный процессор Intel с ноутбуком 6GB RAM, и у него все еще были серьезные проблемы. Кажется, консенсус наш есть по этому поводу. CodeRush, как его даже нет VS2010. Очень легкий вес и просто полезный. Я не думаю, что один настолько лучше, насколько функции идут, и есть много вещей, которые мне больше нравятся в R#, но Jet Brains действительно сбросил мяч, когда VS2010 вышел, и я был довольно разочарован.
для ReSharper для меня. Я уже писал об этом здесь:http://www.tewari.info/2009/02/21/resharper-vs-coderush-refactor-pro/
даже через год, я должен отдать должное Марку Миллеру он дал очень справедливое сравнение.
оба продукта улучшились с момента первоначального сообщения, и у меня нет проблем с производительностью.
одна особенность, которую имеет Resharper, без которой очень трудно жить, - это его коллекция рефакторингов файлов перемещения. Вы можете выбрать несколько файлов в обозревателе решений и переместить их в новую папку и / или проект, а ReSharper исправит пространства имен и рекомендации для вас. Я использовал эту функцию сегодня на каком-то устаревшем коде, и я оцениваю, что это сэкономило мне по крайней мере 4 часа утомительной работы.
плагин сообщества DX_MoveCode обеспечивает немного такого поведения, но без возможности обновить пространство имен и все ссылки на типы, перемещенные он просто не конкурирует.
форматирование кода R# очень трудно жить, особенно если вы работаете с устаревшим кодом.
Мне нравится тот факт, что рефакторинг в коде Rush так тем не менее, эти диалоги R# предоставляют мне возможность обновлять переменные, комментарии и строки, связанные с рефакторингом. Для меня стоимость диалогов оправдана этой поддержкой.
одна вещь, которая меня удивляет, - это то, как CR отображает проблемы с кодом: тики слева и справа от поверхности редактирования и огромная подсказка. Клещи в порядке, но дайте нам Оптон, чтобы отключить этот намек. Я удивлен, потому что CR обычно делает хорошую работу, оставаясь вне игры кстати, эти намеки могут быть болью в разы.
работа с опциями в CR является серьезной болью. Код Rush не делает хорошую работу, чтобы сделать его легким или доступным для изменения его богатый набор опций.
для меня, если CR предоставил те же функции файла перемещения и форматирование кода R#, я бы купил его немедленно. Я сосунок для глаз конфеты и CR имеет его в лопатах.
Я использую resharper-просто скачал CodeRush бесплатно вещь.. но в строке меню нет никаких пунктов./.. ничего.. только линия между скобками... так что я думаю, что останусь с решарпером..
причина, по которой я получил R# для его анализа кода. Показывая мне ошибку в режиме реального времени является удивительным. ЦР его нет или слабый. это берет их foreevr, чтобы получить право.
Я также люблю R # навигации ярлыки.
CR, вероятно, лучше в рефакторинге, но я редко делаю рефакторинг. Я делаю их вручную. Рефакторинг Pro имеет так много рефакторингов, вы можете быть похоронены. Кривая обучения крутая.
в последнее время я сделал несколько больших рефакторингов и сказал бы, что я больше не могу работать без Resharper.
вы можете просто узнать так много вещей так быстро, как использование методов, классов, интерфейсов, наследников и т. д.
и если вы хотите применить рефакторинг есть много поддержки, которая делает Resharper обязательным для меня
оба эти инструмента превосходны. В настоящее время я использую рефакторинг! Профессионал. Я только начал использовать CodeRush Xpress. Я использовал ReSharper немного на клиентском сайте еще в 2005 году. Я купил Рефактор! Pro пару лет назад, потому что в то время у него была более широкая языковая поддержка. Я делал VB в то время и рефакторинг! поддержал его, Решарпер тогда не стал. Я предпочитаю парадигму пользовательского интерфейса в CR / R! но поскольку я не использовал текущую версию ReSharper, я не могу судить, что лучше. Однако, кажется этот ReSharper является более продвинутым в области анализа кода. Главное, что оба инструмента хороши и намного лучше, чем то, что вы получаете из коробки с Visual Studio!
Я долгое время IntelliJ и R# пользователь, и я уверен, что мне будет трудно переключиться, но мое любопытство о том, что я упускаю, достаточно сильно, чтобы приблизиться к попытке. Из того, о чем другие говорят на этой странице вопроса и в других местах в Интернете, я думаю, что мне все равно не хватает функций навигации и анализа R#.
Я нашел эту страницу видео, которые показывают функции CR / RP. Это может быть полезно для таких людей, как я, которые хотят увидеть, что они упускают перед установкой что угодно:
учебные видеоролики и онлайн-уроки-помощь в кодировании и инструменты рефакторинга от DevExpress