Rápido refactorización con castalia


la Refactorización es el proceso de 'mejora del diseño de código existente.' Aprender cómo llegar a ser más rápido y más productivo refactorer con Castalia.

Esta es la cuarta y última entrega de mi serie de artículos sobre los resultados de nuestro estudio en cómo Castalia ayuda a los desarrolladores a ser más productivos. En el último mes, I & #39 cinco escrito acerca de la reducción del trabajo mediante la reducción de las pulsaciones de teclado, escribir código de calidad más rápido con vivir la comprobación de errores, y la navegación a través de código más rápido y con más precisión. Esta semana, voy a hablar de uno de Castalia & #39 s más productivos y más características útiles: la automatización de la Refactorización.

no & #39 t importa lo bueno que somos, todos nosotros escribir código que podría ser mejor. A menudo nos fijamos en el código existente y nos damos cuenta que podría haber utilizado mejor los nombres de las clases, mejor separación de los métodos, la mejor organización, etc.... Esto es lo que la refactorización es sobre el cambio de código existente para el mejor.

La obra definitiva sobre el tema es la Refactorización: Mejorar el Diseño de Código Existente por Martin Fowler. En este libro, Fowler define la refactorización como 'mejorar el diseño de código después de que se ha escrito.' Refactorings son los procedimientos formales para cambiar el diseño de código existente sin alterar el comportamiento del código. (Por cierto, algunos de Castalia & #39 s refactorings es cierto que no & #39 t realmente refactorings, como modificar el comportamiento del código).

El propósito de este artículo, sin embargo, no es para ensalzar las virtudes de la refactorización o tratar de convencerlo de que se & #39 s una buena idea para empezar. I & #39 ll se supone que ya entiendo por qué la refactorización es necesario, o que usted & #39 ll confía en mí cuando digo que es & #39 s una buena cosa. Lo que realmente quiero hacer es hablar acerca de lo que hemos visto cuando hemos visto a las personas que la refactorización del código a mano, y refactorización de código con Castalia.

Cuando observamos a los desarrolladores en el trabajo, nos dimos cuenta de que muchos de los desarrolladores gastado una cantidad considerable de tiempo en el cambio de nombre de las cosas o reorganizar las cosas. Estas bastante simples tareas podría tardar días en grandes proyectos (imagine tener que cambiar todas las ocurrencias de TCustMan TCustomerMan en 250.000 líneas de código que se extendió más de 300 archivos).

los Desarrolladores tomaron una serie de enfoques para esto. La mayoría utiliza Delphi & #39 s 'Buscar en Archivos' para encontrar todas las ocurrencias de la variable en cuestión y, a continuación, abrir cada archivo y se utiliza Delphi & #39 s 'Buscar/Reemplazar' cuadro de diálogo para cambiar el texto. Esta parecía ser la forma más eficiente de hacerlo, aunque sí observamos otro enfoque interesante: Algunos desarrolladores acaba de cambiar el nombre de la declaración, y compilar el proyecto. Cuando la compilación fallará con una cantidad innumerable de 'Identificador no declarado' errores, que iba a ir a cada uno y cambiar el identificador. Este es el método prescrito por Fowler.

Tenía el desarrollador que nosotros & #39 he estado hablando acerca de cómo utilizar Castalia & #39 s 'cambiar el nombre de la Clase' refactorización para cambiar el nombre de su clase, las cosas hubieran sido muy diferentes. El uso de Castalia & #39 s automatizado 'cambiar el nombre de la Clase' refactorización, el proceso de toma de menos de un segundo. No, & #39 t realmente una forma lógica para describir la mejora, ya que nadie me creerá si digo que podemos demostrar que Castalia puede ofrecer un aumento de la productividad de 22,000% (1 segundo automatizado respecto a la toma de 6 horas para hacer a mano), aunque es verdad.

la Refactorización no & #39 t sólo acerca de cambiar el nombre de las cosas, sin embargo. Otro ejemplo común es el 'Extracto de Método' refactorización, que nosotros & #39 ve todos los necesarios en un momento u otro. Este es probablemente el más común de refactorización realizada por 'manual' refactorings. Utilizamos esta cuando un método se ha convertido en algo monolítico y sabemos que partes debe dividirse en otros métodos. Hemos de cortar y pegar, mover variables, añadir parámetros, etc... hasta que el código está diseñado mejor, pero el comportamiento ha & #39 t cambiado. Esta refactorización es generalmente más rápido que el cambio de nombre de algún nivel mundial-objeto utilizado, pero tiene un interesante potencial de introducir errores que no fueron & #39 t allí antes. Los desarrolladores que aprendieron a utilizar Castalia & #39 s automatizado 'Extracto de Método' refactorización descubrieron que podían obtener el método de extracción más rápidamente, hacer menos trabajo a mano, y reducir drásticamente el potencial para la introducción de errores a casi cero.

¿Cómo puede ver los mismos niveles de productividad? El uso de las herramientas de refactorización. Por supuesto, que & #39 s más fácil de decir que de hacer. A diferencia estructural destacar o la comprobación de la sintaxis, las herramientas de refactorización no saltan a la vista y decir 'uso de mí!' Aprender a reconocer los lugares donde los refactorings se puede aplicar necesita un poco de experiencia, pero sabiendo lo que & #39 s disponible puede ser de gran ayuda. Castalia & #39 s automatizado de refactorings son:

  • cambiar el nombre de la Clase - se Cambia el nombre de una clase, cambiar todas las referencias a la clase para reflejar la clase & #39 nombre nuevo.
  • Mover Clase - se Mueve de una definición de clase y todos sus métodos de una unidad a otra.
  • cambiar el nombre de Método - Cambia el nombre de un procedimiento o función, y todas las referencias al procedimiento o función.
  • Extracto de Método - Extractos de un segmento de código en un procedimiento independiente, en sustitución de la original segmento adecuadamente con un construido llamada con el nuevo procedimiento.
  • cambiar el nombre de Variable Local - Cambia el nombre de una variable local y todas las referencias a la variable dentro de un método único.
  • Inline Variable Temporal - Cuando una variable se le asigna el valor de una simple declaración, esta refactorización elimina la variable del procedimiento y reemplaza todas las instancias de la variable con la simple declaración.
  • Dividir la Variable Temporal - Cuando una variable se le asigna más de una vez, es a menudo conveniente para 'dividir' la variable en dos variables distintas. Split Variable Temporal automatiza esto mediante la adición de una nueva variable para el procedimiento y hacer los cambios oportunos para dividir la variable original en dos. (Escribí un artículo sobre esto en febrero).
  • Buscar Referencias (No un verdadero refactorización) - No & #39 t hacer cualquier cambio en el código, pero encuentra todas las referencias a un identificador en el proyecto.
  • Surround Con... (No es un verdadero refactorización) - Rodea seleccionado de un bloque de código con cualquiera de un número estándar de construcciones tales como try..excepto..end, si, a continuación, empezar..end, etc.... Este no es un verdadero refactorización porque los cambios en el comportamiento del código, pero no pudimos & #39 t encontrar un mejor lugar para ponerlo.

Castalia & #39 s automatizado de refactorings son verdadera joya, y han hecho que muchos desarrolladores y muchos gerentes de desarrollo muy feliz. El aumento de la productividad de tener muy bien diseñado código son inconmensurables. Tomando ventaja de Castalia & #39 s automatizado de refactorización puede ayudar a los desarrolladores a mejorar el código de forma rápida y sin tedio, lo que permite que cualquier código, no importa lo mal diseñado, para convertirse en un gran código.

Este es el final de nuestra serie sobre los Castalia uso de estudio. La próxima semana, será el momento para algo completamente diferente!









Rapido refactorizacion con castalia


Rapido refactorizacion con castalia : Multi-millones de consejos para hacer su vida mas facil.


la Refactorizacion es el proceso de 'mejora del diseño de codigo existente.' Aprender como llegar a ser mas rapido y mas productivo refactorer con Castalia.

Esta es la cuarta y ultima entrega de mi serie de articulos sobre los resultados de nuestro estudio en como Castalia ayuda a los desarrolladores a ser mas productivos. En el ultimo mes, I & #39 cinco escrito acerca de la reduccion del trabajo mediante la reduccion de las pulsaciones de teclado, escribir codigo de calidad mas rapido con vivir la comprobacion de errores, y la navegacion a traves de codigo mas rapido y con mas precision. Esta semana, voy a hablar de uno de Castalia & #39 s mas productivos y mas caracteristicas utiles: la automatizacion de la Refactorizacion.

no & #39 t importa lo bueno que somos, todos nosotros escribir codigo que podria ser mejor. A menudo nos fijamos en el codigo existente y nos damos cuenta que podria haber utilizado mejor los nombres de las clases, mejor separacion de los metodos, la mejor organizacion, etc.... Esto es lo que la refactorizacion es sobre el cambio de codigo existente para el mejor.

La obra definitiva sobre el tema es la Refactorizacion: Mejorar el Diseño de Codigo Existente por Martin Fowler. En este libro, Fowler define la refactorizacion como 'mejorar el diseño de codigo despues de que se ha escrito.' Refactorings son los procedimientos formales para cambiar el diseño de codigo existente sin alterar el comportamiento del codigo. (Por cierto, algunos de Castalia & #39 s refactorings es cierto que no & #39 t realmente refactorings, como modificar el comportamiento del codigo).

El proposito de este articulo, sin embargo, no es para ensalzar las virtudes de la refactorizacion o tratar de convencerlo de que se & #39 s una buena idea para empezar. I & #39 ll se supone que ya entiendo por que la refactorizacion es necesario, o que usted & #39 ll confia en mi cuando digo que es & #39 s una buena cosa. Lo que realmente quiero hacer es hablar acerca de lo que hemos visto cuando hemos visto a las personas que la refactorizacion del codigo a mano, y refactorizacion de codigo con Castalia.

Cuando observamos a los desarrolladores en el trabajo, nos dimos cuenta de que muchos de los desarrolladores gastado una cantidad considerable de tiempo en el cambio de nombre de las cosas o reorganizar las cosas. Estas bastante simples tareas podria tardar dias en grandes proyectos (imagine tener que cambiar todas las ocurrencias de TCustMan TCustomerMan en 250.000 lineas de codigo que se extendio mas de 300 archivos).

los Desarrolladores tomaron una serie de enfoques para esto. La mayoria utiliza Delphi & #39 s 'Buscar en Archivos' para encontrar todas las ocurrencias de la variable en cuestion y, a continuacion, abrir cada archivo y se utiliza Delphi & #39 s 'Buscar/Reemplazar' cuadro de dialogo para cambiar el texto. Esta parecia ser la forma mas eficiente de hacerlo, aunque si observamos otro enfoque interesante: Algunos desarrolladores acaba de cambiar el nombre de la declaracion, y compilar el proyecto. Cuando la compilacion fallara con una cantidad innumerable de 'Identificador no declarado' errores, que iba a ir a cada uno y cambiar el identificador. Este es el metodo prescrito por Fowler.

Tenia el desarrollador que nosotros & #39 he estado hablando acerca de como utilizar Castalia & #39 s 'cambiar el nombre de la Clase' refactorizacion para cambiar el nombre de su clase, las cosas hubieran sido muy diferentes. El uso de Castalia & #39 s automatizado 'cambiar el nombre de la Clase' refactorizacion, el proceso de toma de menos de un segundo. No, & #39 t realmente una forma logica para describir la mejora, ya que nadie me creera si digo que podemos demostrar que Castalia puede ofrecer un aumento de la productividad de 22,000% (1 segundo automatizado respecto a la toma de 6 horas para hacer a mano), aunque es verdad.

la Refactorizacion no & #39 t solo acerca de cambiar el nombre de las cosas, sin embargo. Otro ejemplo comun es el 'Extracto de Metodo' refactorizacion, que nosotros & #39 ve todos los necesarios en un momento u otro. Este es probablemente el mas comun de refactorizacion realizada por 'manual' refactorings. Utilizamos esta cuando un metodo se ha convertido en algo monolitico y sabemos que partes debe dividirse en otros metodos. Hemos de cortar y pegar, mover variables, añadir parametros, etc... hasta que el codigo esta diseñado mejor, pero el comportamiento ha & #39 t cambiado. Esta refactorizacion es generalmente mas rapido que el cambio de nombre de algun nivel mundial-objeto utilizado, pero tiene un interesante potencial de introducir errores que no fueron & #39 t alli antes. Los desarrolladores que aprendieron a utilizar Castalia & #39 s automatizado 'Extracto de Metodo' refactorizacion descubrieron que podian obtener el metodo de extraccion mas rapidamente, hacer menos trabajo a mano, y reducir drasticamente el potencial para la introduccion de errores a casi cero.

¿Como puede ver los mismos niveles de productividad? El uso de las herramientas de refactorizacion. Por supuesto, que & #39 s mas facil de decir que de hacer. A diferencia estructural destacar o la comprobacion de la sintaxis, las herramientas de refactorizacion no saltan a la vista y decir 'uso de mi!' Aprender a reconocer los lugares donde los refactorings se puede aplicar necesita un poco de experiencia, pero sabiendo lo que & #39 s disponible puede ser de gran ayuda. Castalia & #39 s automatizado de refactorings son:

  • cambiar el nombre de la Clase - se Cambia el nombre de una clase, cambiar todas las referencias a la clase para reflejar la clase & #39 nombre nuevo.
  • Mover Clase - se Mueve de una definicion de clase y todos sus metodos de una unidad a otra.
  • cambiar el nombre de Metodo - Cambia el nombre de un procedimiento o funcion, y todas las referencias al procedimiento o funcion.
  • Extracto de Metodo - Extractos de un segmento de codigo en un procedimiento independiente, en sustitucion de la original segmento adecuadamente con un construido llamada con el nuevo procedimiento.
  • cambiar el nombre de Variable Local - Cambia el nombre de una variable local y todas las referencias a la variable dentro de un metodo unico.
  • Inline Variable Temporal - Cuando una variable se le asigna el valor de una simple declaracion, esta refactorizacion elimina la variable del procedimiento y reemplaza todas las instancias de la variable con la simple declaracion.
  • Dividir la Variable Temporal - Cuando una variable se le asigna mas de una vez, es a menudo conveniente para 'dividir' la variable en dos variables distintas. Split Variable Temporal automatiza esto mediante la adicion de una nueva variable para el procedimiento y hacer los cambios oportunos para dividir la variable original en dos. (Escribi un articulo sobre esto en febrero).
  • Buscar Referencias (No un verdadero refactorizacion) - No & #39 t hacer cualquier cambio en el codigo, pero encuentra todas las referencias a un identificador en el proyecto.
  • Surround Con... (No es un verdadero refactorizacion) - Rodea seleccionado de un bloque de codigo con cualquiera de un numero estandar de construcciones tales como try..excepto..end, si, a continuacion, empezar..end, etc.... Este no es un verdadero refactorizacion porque los cambios en el comportamiento del codigo, pero no pudimos & #39 t encontrar un mejor lugar para ponerlo.

Castalia & #39 s automatizado de refactorings son verdadera joya, y han hecho que muchos desarrolladores y muchos gerentes de desarrollo muy feliz. El aumento de la productividad de tener muy bien diseñado codigo son inconmensurables. Tomando ventaja de Castalia & #39 s automatizado de refactorizacion puede ayudar a los desarrolladores a mejorar el codigo de forma rapida y sin tedio, lo que permite que cualquier codigo, no importa lo mal diseñado, para convertirse en un gran codigo.

Este es el final de nuestra serie sobre los Castalia uso de estudio. La proxima semana, sera el momento para algo completamente diferente!


Rápido refactorización con castalia

Rápido refactorización con castalia : Multi-millones de consejos para hacer su vida más fácil.
Recommander aux amis
  • gplus
  • pinterest

Comentario

Dejar un comentario

Clasificación