visual-studio - resharper visual studio 2017 full mega
2008: Resharper vs. CodeRush (18)
¡He sido un usuario de CodeRush y Refactor por largo tiempo! Pro. CodeRush es mucho más que una refactorización. Una vez que aprende las reglas que establece, la velocidad de codificación aumenta. Sin embargo, incluso antes de aprender las reglas, inteligentemente se aplica a las cosas existentes que haces y hace que sean más fáciles.
De hecho, lo que más extraño de la codificación en Ruby on Rails es que no tengo un IDE con CodeRush y Refactor. Los paquetes de TextMate me ayudan en parte, pero no es lo mismo.
Tienen una versión de prueba gratuita disponible, así que te animo a probarlo y ver cómo te gusta. Nunca miré hacia atrás.
Sé que hay muchas discusiones si Resharper o CodeRush son mejores. En mi compañía, actualmente usamos Resharper y estoy de acuerdo.
Pero la semana pasada vi un screencast sobre CodeRush y pensé que era increíble. Hay tantas refactorizaciones "nuevas" que inmediatamente pensé en una migración.
¿Cuál es su herramienta favorita para la refactorización, el análisis de código, la navegación dentro de Visual Studio, etc. y por qué? ¿En qué áreas crees que Resharper es mejor y en qué áreas CodeRush?
¿Hay alguna diferencia de rendimiento entre los dos? Era un usuario de ReSharper desde hace mucho tiempo, pero finalmente me rendí cuando ya no podía soportar el lento rendimiento. Cuanto más complejo es mi proyecto (formularios, etc.), más lenta es la máquina. Lo desinstalé y el rendimiento fue mucho mejor. ¿CodeRush es tan lento?
Ambas herramientas son excelentes. ¡Actualmente uso Refactor! Pro. Recién comencé a usar CodeRush Xpress también. Utilicé ReSharper un poco en un sitio de cliente en 2005. ¡Compré Refactor! Pro hace un par de años porque en ese momento tenía un soporte de lenguaje más amplio. ¡Estaba haciendo VB en ese momento y Refactor! lo soportó, ReSharper no lo hizo entonces. ¡Prefiero el paradigma de UI en CR / R! pero como no he usado una versión actual de ReSharper, no puedo juzgar qué es lo mejor. Sin embargo, parece que ReSharper está más avanzado en el área de análisis de código. El punto principal es que ambas herramientas son buenas y mucho mejores que las que obtienes con Visual Studio.
CodeRush es donde está en hombre. No me gustaban los resharpers intellisense, así que lo apagué, lo que hace que el resharper sea menos útil.
Es Resharper para mí. Lo he estado usando desde su primer lanzamiento de EAP y ¡me encanta! Como usted dice, es mucho más que una refactorización: es la forma en que me ayuda en la navegación y la comprensión de códigos que uso mucho más que la refactorización. Dos de mis funciones favoritas son la limpieza del código y el diseño de miembros de tipo.
El comentario de Tim me resulta intrigante cuando dice:
inteligentemente se aplica a las cosas existentes que haces
Me interesaría saber qué es esto en CodeRush. Tengo mucho respeto por los productos de Developer Express.
Habiendo probado ambas, diría que la última versión de CR / R tiene la ventaja en términos de integración con el flujo de trabajo de programación. Por lo general, no verá un diálogo que le pregunte si desea hacer esto o aquello, simplemente fluye con lo que está haciendo. Siempre está a una pulsación de tecla de todos los refactores disponibles, etc. La última versión incluye refactores importantes en mi humilde opinión, como el método push / move. Navegar por tus clases es más rápido en CR / R.
También he notado que el rendimiento en proyectos grandes tiende a ser mejor en CR / R que en el de Resharper.
El soporte Intellisense es mejor en Resharper, así como en el análisis de código.
He hecho algunas refacciones grandes últimamente y diría que ya no puedo trabajar sin Resharper.
Puedes encontrar tantas cosas tan rápido, como los usos de métodos, clases, interfaces, herederos, etc.
Y si desea aplicar refactorizaciones hay mucho apoyo que hace que Resharper sea imprescindible para mí
He intentado ambos. JetBrains Resharper es mucho mejor para mí que DevExpress Coderush.
JetBrains es mejor con los IDEs (tienen su propio IDE para Java, después de todo) al igual que DevExpress es mejor con los hermosos componentes.
He sido un usuario de CodeRush + RefactorPro durante mucho tiempo, mientras que mi amigo de un equipo está usando Resharper.
Realmente me gustaría tener el análisis de código en el mismo nivel que él tiene en R #. CR es pobre aquí. R # también se encuentra en las características de diseño del código y tiene un corredor de prueba decente. En CR, no hay herramientas de formato y formato de código, y el corrector de prueba aún no se ha lanzado. Está en etapa planificada.
Con respecto a la navegación, encontramos que ambas herramientas son iguales.
Mi amigo me envidia las plantillas que tiene CR. Las plantillas R # están muy atrás. Además, la curva de aprendizaje de R # es peor. CR es mucho más fácil de entender. Además, las refactorizaciones proporcionadas por Refactor Pro son mejores que en R #. Simplemente son más fáciles de manejar. Entonces, en términos de escribir código, encuentro que CR es mejor.
Recientemente ambos intentamos escribir complementos para implementar las características que vemos en la herramienta opuesta y me gustaría tener. Pude hacer este waaaay más fácil para CR. La extensibilidad de DXCore es asombrosa.
En general: R # tiene muchas más características, pero son mucho más difíciles de aprender. Además, si encuentra algo que falta, CR es más fácil de extender.
Honestamente, ambos son iguales a la tarea. Lo que encontré es que CodeRush / Refactor Pro tiene una curva de aprendizaje más pronunciada, pero una vez que se ha capacitado usted y el entorno (y cambió unas pocas teclas) CodeRush realmente se hace efectivo.
ReSharper es igualmente bueno y no dejes que nadie te engañe sobre ese punto. Sin embargo, no son iguales y dependerán de tus necesidades. CodeRush es mucho más extensible (IMO), pero si te mueves de uno a otro te faltarán un par de cosas de la otra.
En julio tardé un mes e hice exactamente lo que estás diciendo (migré de ReSharper a CodeRush y publiqué sobre ello).
Estoy bastante contento con el resultado final (hay algunas cosas que me faltan ... Code Analysis de CodeRush aún no está del todo al nivel de ReSharper y la refactorización de "Move" ... más allá encontré todo lo que necesitaba).
Aquí están las publicaciones de mi blog para que pueda consultarlas (si lo desea) ...
Hola CodeRush!
Después de la semana 1
2 semanas con CodeRush
CR / RP Wrapup
Como dije, aunque ambas herramientas son excelentes y, dependiendo de su disposición a aprender una nueva herramienta, puede ser mejor con lo que tiene ahora.
Incluso después de un año, tengo que dar crédito a Mark Miller que dio una comparación muy justa.
Ambos productos han mejorado desde la publicación original y no tengo problemas de rendimiento con ninguno.
Una característica que Resharper tiene es muy difícil de vivir sin su colección de refactorizaciones Move File. Puede seleccionar varios archivos en el explorador de soluciones y moverlos a una nueva carpeta y / o proyecto y ReSharper arreglará los espacios de nombres y las referencias por usted. Usé esta característica hoy en algún código heredado y calculo que me ahorró al menos 4 horas de trabajo tedioso.
El plugin de comunidad DX_MoveCode proporciona un poco de este comportamiento, pero sin la capacidad de actualizar el espacio de nombres y todas las referencias a los tipos movidos, simplemente no compite.
El formato de código R # es realmente difícil de vivir, especialmente si trabajas con código heredado.
Me encanta el hecho de que la refacturación en Code Rush es mucho más limpia y eficiente, sin embargo, esos diálogos R # brindan la posibilidad de actualizar variables, comentarios y cadenas relacionadas con la refactorización. Para mí, el costo de los diálogos se justifica con este soporte.
Una cosa que me sorprende es cómo CR muestra problemas de código: marcas a la izquierda y derecha de la superficie de edición y una sugerencia ENORME. Los tics están bien, pero danos la oportunidad de desactivar esa pista. Estoy sorprendido porque CR normalmente hace un buen trabajo al mantenerse fuera del camino, esto sugiere que puede ser un dolor a veces.
Trabajar con opciones en CR es un gran dolor. Code Rush no hace un buen trabajo al hacer que sea fácil o accesible modificar su amplio conjunto de opciones.
Para mí, si CR proporcionó las mismas características Move File y Code Formatting R #, lo compraría de inmediato. Soy un fanático de los ojos dulces y CR lo tiene todo.
La experiencia de refactorización de CodeRush es más rápida y fluida (menos pulsaciones de tecla, menos diálogos - cero, menos movimientos de mouse) que ReSharper. Cuando cambia el nombre o cambia una firma que afecta a muchos archivos sin abrir en el disco, CodeRush es compatible con deshacer archivos múltiples. Por el contrario, ReSharper presenta un cuadro de diálogo que le pregunta si desea deshacer el soporte para este Rename, y si dice sí, ReSharper procede a abrir todos los archivos tocados por la refactorización.
CodeRush tiene más refactorizaciones que ReSharper, aunque ReSharper tiene un buen miembro Move para la refacturación de clases que aún no ha llegado a CodeRush. ReSharper también tiene una buena función de cambio de nombre que le permite cambiar el nombre de las variables que contienen un nombre de clase cuando cambia el nombre de esa clase. Por ejemplo, si cambio el nombre de una clase "Nave espacial" a "Nave espacial", ReSharper encuentra identificadores con nombres como "superSpaceship" y sugiere que se renombren a "superSpacecraft".
CodeRush es un poco más rápido que ReSharper en el inicio de Visual Studio y en proyectos abiertos. ReSharper usa más memoria, hasta seis veces más en soluciones realmente grandes (por ejemplo, más de 1000 clases).
ReSharper informa más de los problemas de código de fondo que CodeRush y los problemas de código ReSharper son en general más útiles (p. Ej., El tipo de parámetro puede degradarse a una clase más cercana al objeto), sin embargo, CodeRush incluye un código que detecta variables locales no expuestas que implementar IDisposable que es muy útil.
CodeRush envía significativamente más plantillas de código (como fragmentos de código VS) que ReSharper, y las plantillas de CodeRush están diseñadas para ser óptimamente eficientes (por ejemplo, "ms" crea un método que devuelve una cadena, "vb" crea una variable de tipo bool y "nl.i" crea una nueva lista inicializada). Sus dedos se benefician de la eficiencia, pero las plantillas requieren de un poco de práctica para acostumbrarse. La ventana de capacitación de CodeRush puede facilitar esta curva de aprendizaje si la tiene activada mientras codifica. Curiosamente, las plantillas CodeRush abstraen eficazmente el lenguaje de programación, por lo que los desarrolladores que trabajan en más de un idioma (o la transición de un idioma a otro) pueden presionar las mismas teclas y obtener esencialmente el mismo código, independientemente del idioma en el que están codificando.
ReSharper tiene un buen reemplazo Intellisense y un reemplazo interesante de la punta de herramienta de parámetro. ReSharper tiene una función de sugerencia de nombre de variable que es útil. ReSharper también tiene una función de reformateo de código que es muy agradable.
Las funciones de declaración de uso prioritario TDD de CodeRush requieren menos pulsaciones de teclas que las de ReSharper (consulte esto en CodeRush Xpress gratuito que incluye la mayoría de las funciones de declaración de consumo prioritario que se envían en la versión completa de CodeRush).
La ventana ReSharper''s find all references tiene múltiples paneles para cada búsqueda realizada, lo cual es agradable. CodeRush proporciona solo un panel para la última búsqueda realizada. CodeRush tiene una característica clara de Referencia a la próxima referencia que lo lleva a través de todas las referencias a un identificador con solo presionar la tecla Tab (Shift + Tab lo lleva de regreso). La búsqueda de todas las referencias de CodeRush aparece más rápido que la de ReSharper.
El Test Test Runner de CodeRush publicado en 9.3 admite más marcos de prueba listos para usar (NUnit, MSTest, xUnit y MbUnit). CodeRush Test Runner también comprende más atributos de framework (por ejemplo, el parámetro Nethit ExpectedException MatchType) y también admite pruebas generadas dinámicamente (p. Ej., RowTests, el atributo Values, fábricas, teorías, etc.). El soporte para los marcos de prueba es extensible y CodeRush incluye el código fuente para cada uno de los plug-ins del framework de prueba.
La razón por la que obtuve R # para su análisis de código. Mostrarme el error en tiempo real es increíble. CR no lo tiene o es débil. les está tomando por delante para hacerlo bien.
También me encantan los accesos directos de navegación R #.
CR es probablemente mejor en la refactorización, pero rara vez hago refactorizaciones. Los hago a mano. Refactor Pro tiene tantas refactorizaciones, que podría ser enterrado. La curva de aprendizaje es empinada.
No creo que haya ninguna comparación. Utilicé Resharper durante años, pero una vez que me mudé a CodeRush, no estoy mirando hacia atrás. La gran razón por la que me mudé a CodeRush fue el rendimiento horrible de Resharpers con VS2010. R # hizo el IDE casi inutilizable. Tengo un Intel de doble núcleo con una computadora portátil con 6GB de RAM y todavía tenía serios problemas. Parece ser el consenso nuestro sobre esto. CodeRush es como si ni siquiera existiera el VS2010. Muy ligero y solo un útil. No creo que uno sea mucho mejor en cuanto a características y hay muchas cosas que me gustan más en R #, pero Jet Brains realmente dejó caer la pelota cuando salió VS2010 y estaba bastante decepcionado.
ReSharper es el indicado para mí. He escrito sobre esto aquí: http://www.tewari.info/2009/02/21/resharper-vs-coderush-refactor-pro/
Soy un usuario de IntelliJ y R # desde hace mucho tiempo y estoy seguro de que me resultaría difícil cambiar, pero mi curiosidad acerca de lo que me estoy perdiendo es lo suficientemente fuerte como para acercarme a intentarlo. Por lo que otros están hablando en esta página de preguntas y en otras partes en línea, creo que todavía extrañaría las características de navegación y análisis de R #.
Encontré esta página de videos que muestran las características de CR / RP. Puede ser útil para personas como yo que quieren ver lo que se están perdiendo antes de instalar algo:
Uso resharper, acabo de descargar CodeRush gratis ... pero no hay elementos en la barra de menú. / .. nada ... solo una línea entre paréntesis ... así que creo que me quedaré con el reafilado ...
Utilicé Coderush durante un año antes de TDD. Ahora he usado Reshaper por casi 1.5 años. Paso fácilmente una hora o dos sin usar el mouse ahora gracias a R # (solo porque a menudo me quedo sin pilas)
Si practicas TDD y / o aprendes a usar las herramientas completamente, entonces Resharper es el camino a seguir, toco muchas frustraciones con CodeRush en TDD y parece que en ese momento el esfuerzo iba a hacer una evaluación de JavaScript en lugar de evaluar la mejora de productividad para C # central.
Si usted es el tipo de persona que usa Resharper para CTRL + T y hace clic en la refactorización del mouse, es probable que obtenga más de Coderush, especialmente si la generación de propiedades está muy arriba en su lista de consideraciones. Impresiones del Día 1: CodeRush gana, igualmente el Día X si no aprende a abrazar las herramientas por completo, pero al final del primer mes con una evaluación sólida, Resharper gana. La próxima vez que busque el mouse, pregunte si hay un atajo para esto, pruébelo.
Resharper tiene una curva de aprendizaje más alta para ponerse en marcha (necesita fluidez con cosas más allá del tipo goto) y trabaja en su potencial óptimo con el enfoque TDD.