jueves, 28 de febrero de 2008

Revisión de Resharper 3.0 de JetBrains

Tuve la oportunidad de utilizar este add-in en mi actual empleo. En mi empleo anterior habia tenido la oportunidad de utilizarlo en su versión 2.5 y los resultados habían sido muy buenos. Con esta nueva versión que nos provee JetBrains, mis expectativas han sido superadas.

Para conseguirlo visiten http://www.jetbrains.com/resharper/

Las principales ventajas que he encontrado a este producto son las siguientes:
* Es tanto una herramienta para ser utilizada en tareas de refactoring sino que incrementa la calidad de nuestro código.
* Está perfectamente integrada con el IDE de desarrollo de Visual Studio 2005
* Implementa las mejores prácticas de programación para brindarnos sugerencias a la hora de escribir código.
* Posee una API abierta lo cual posibilita la creación de plugins de terceras partes.



Como no existe el producto perfecto, las desventajas también existen:
* Las herramientas para test de unidad (UT) no se integran con Visual Studio Team Suite. Esto podría solucionarse con productos de terceras partes.
* Si bien es mucho más ágil que la versión anterior, aún tiene algunos aspectos de performance que por lo general se mitigan agregando mas RAM.
* Las reglas de análisis de código parecen no ser personalizables y digo parecen porque no lo he podido lograr aún anque necesita mas investigación.

Mas allá de estas desventajas, se trata de un producto que me resultó de mucha utilidad y ayuda.
Con esta entrada del blog comienzo una serie de entradas en las que voy a mostrar algunas de las características que he tenido la oportunidad de utilizar, testear y aprovechar. Vamos a comenzar separando las prestaciones en diferentes categorías:


I) Categoría: Análisis de Código
a) Análisis dinámico de código
Resharper detecta de forma automática e instantánea errores en nuestro código y lo resalta sin que tengamos la necesidad de compilar siquiera. Realiza esta operación mientras estamos trabajando. Si posicionamos el mouse en la sección resaltada aparece un tooltip con la descripción del error

b) Advertencias
Además de los errores y advertencias que son detectables por el compilador, Resharper nos provee advertencias adicionales que pueden llegar a ser errores reaales de código.
Por citar algunos ejemplos nos brinda avisos de casteos redundantes, formateo incorrecto de strings, variables locales declaradas pero nunca utilizadas, etc

c) Sugerencias de Código
Resharper realiza un análisis en profundidad en la estructura de nuestro código activando sugerencias de código, las cuales no representan que existen errores pero nos proporciona información que es muy útil conocer, dado que están basadas en las mejores prácticas de diseño.





d) Quick-fixes
Cuando Resharper detecta un error, lo señaliza a traves del ícono de una lampara roja en la parte izquierda de la linea que contiene el error. A través de un shortccut (ALT+ENTER) aparecen las diferentes opciones de fix y al seleccionar la opción que mejor se adecua a nuestras necesidades se corrige automáticamente.


e) Indicador de estado
Al abrir un archivo, Resharper ejecuta un análisas en profundidad utilizando las reglas y mejores prácticas y nos informa a traves de códigos de colores el "estado de salud" del código que contiene nuestro archivo. Este indicador de estado lo encontramos en la esquina superior derecha del archivo, pero adicionalmente posee indicadores de color en cada linea (también en la parte derecha de nuestro editor).


f) Análisis de valor
Este tipo de análisis está relacionado a los valores de nuestras variables y objetos. Es utilizada principalmente para detectar valores que pueden estar seteados a null y brindar un aviso inmediatamente. Otra utilización frecuente es avisarnos de que una variable del tipo boolean está siempre seteada a true o a false.


1 comentario:

Anónimo dijo...

top [url=http://www.001casino.com/]001[/url] coincide the latest [url=http://www.realcazinoz.com/]free casino games[/url] manumitted no store perk at the best [url=http://www.baywatchcasino.com/]liberated bonus casino
[/url].