Refactorización es el proceso de "mejorar el diseño de código existente". Aprenda a convertirse en uno más rápido y más productivo con refactorer Castalia.

Esta es la cuarta y última entrega de mi serie de artículos examinando los resultados de nuestro estudio la forma en que Castalia ayuda a los desarrolladores ser más productivos. En el último mes, he escrito acerca de la reducción de trabajo mediante la reducción de las pulsaciones de teclado, escribir código de calidad con mayor rapidez vivir error control, y navegar a través de código más rápido y con más precisión. Esta semana, voy a hablar de un Castalia más productivo y más útiles características: Refactorización automatizado.

No importa lo bueno que somos, todos estamos de escribir código que podría ser mejor. A menudo mirar en el código existente y darse cuenta de que podía haber utilizado mejor los nombres de clase, una mejor separación de los métodos, mejor organización, etc ... Esto es lo que se trata de refactorización - cambiemos el código existente para el mejor.

El trabajo definitivo sobre el tema esRefactorización: mejorar el diseño de código existente por Martin Fowler. En este libro, Fowler define como refactoring "mejorar el diseño de código después de que se ha escrito". Refactorings son procedimientos formales para cambiar el diseño de código existentesin alterar el comportamiento del código. (Por cierto, algunos de Castalia la refactorings ciertamente no son realmente refactorings, ya que 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 convencer de que es una buena idea para empezar. Voy a suponer que usted ya refactoring entender por qué es necesaria, o que usted va a confiar en mí cuando digo que es una buena cosa. Lo que realmente quiero hacer es hablar de lo que vimos cuando nos vieron personas refactoring de código a mano, y refactoring de código con Castalia.

Cuando observamos los desarrolladores en el trabajo, nos hemos percatado de que muchos desarrolladores gastado una considerable cantidad de tiempo de cambiar el nombre de las cosas o la reorganización de las cosas. Estas tareas bastante simple podría tomar días en los grandes proyectos (imagine tener que cambiar cada ocurrencia de TCustMan a TCustomerMan en 250.000 líneas de código propagación más de 300 archivos).

Los desarrolladores tomaron una serie de planteamientos a este respecto. Mayoría utilizan el Delphi "Buscar en los archivos" para encontrar cada ocurrencia del identificador en cuestión y, a continuación, cada uno de los archivos abiertos y utilizados de Delphi "Buscar / Reemplazar" de diálogo para cambiar el texto. Esto parece ser la forma más eficaz de hacerlo, a pesar de que no observar otro enfoque interesante: Algunos desarrolladores se acaba de cambiar el nombre de la declaración, y compile el proyecto. Cuando la compilación sería un fracaso con una innumerable cantidad de "Sin declaración Identifier" errores, que ir a cada uno y cambiar el identificador. Este es el método prescrito por Fowler.

El promotor había que hemos estado hablando de conocer cómo utilizar de Castalia "Cambiar el nombre de la clase" refactorización para cambiar el nombre de su clase, las cosas habrían sido muy diferentes. Uso de Castalia automatizados de "Cambiar el nombre de la clase" refactoring, el proceso tarda menos de un segundo. No hay realmente un camino lógico para describir la mejora, ya que nadie me creerá si digo que podemos demostrar que Castalia puede ofrecer un aumento de la productividad de 22000% (1 segundo automatizados en comparación con 6 horas, teniendo que hacer a mano ), Aunque es cierto.

Refactorización no se trata sólo de cambiar el nombre de las cosas, sin embargo. Otro ejemplo común es el "Método Extracto de" refactorización, que todos hemos necesaria en un momento u otro. Esta es probablemente la más común realizada por refactoring "manual" refactorings. Nosotros usamos cuando un método se ha convertido en algo monolítico y sabemos que algunas partes del mismo se divide en otros métodos. Estamos cortar y pegar, mover variables, añadir parámetros, etc .. hasta que el código está diseñado mejor, pero el comportamiento no ha cambiado. refactoring Esto es generalmente más rápido que cambiar el nombre de algunos utilizado a nivel mundial-objeto, pero tiene la interesante posibilidad de introducir errores que antes no existían. desarrolladores que aprendió a utilizar automatizados de Castalia "Extracto Método" refactoring consideró que podrían conseguir el método de extracción de hacer más rápido, menos trabajo que hacer a mano, y reducir drásticamente la posibilidad de introducir errores a casi cero.

¿Cómo se puede ver el mismo los niveles de productividad? Utilice el refactoring herramientas. Por supuesto, eso es más fácil decirlo que hacerlo. Destacando diferencia estructural o sintaxis de control, herramientas de la refactorización no saltar a usted y decir "me uso!" Aprender a reconocer los lugares cuando el refactorings se puede aplicar toma un poco de experiencia, pero sabiendo lo que está disponible puede ayudar mucho. Castalia refactorings automatizados son los siguientes:

  • Cambiar nombre de la clase - Cambia el nombre de una clase, el cambio de todas las referencias a la clase para reflejar la clase 'nuevo nombre.
  • Mover la clase - Mueve una definición de clase y de todos sus métodos de una unidad a otra.
  • Renombrar Método - Altera el nombre de un procedimiento o una función y todas las referencias al procedimiento o función.
  • Extracto Método - Extractos un segmento de código en un procedimiento separado, en sustitución de la original serie de sesiones con una adecuada llamada a construirse 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 único método.
  • Variable temporal en línea - Cuando una variable se le asigna el valor de una simple declaración, esta refactorización elimina la variable del procedimiento y sustituye a todas las instancias de la variable con la simple declaración.
  • Split variable temporal - Cuando una variable se le asigna más de una vez, a menudo es conveniente "dividir" la variable en dos variables. Temporales Split automatiza esta variable mediante la adición de una nueva variable para el procedimiento y hacer los cambios apropiados para dividir la variable original en dos. (escribí un artículo sobre este pasado mes de febrero).
  • Buscar referencias (no un verdadero refactoring) - No realizar ningún cambio en el código, pero considera que todas las referencias a un identificador en el proyecto.
  • Con sonido envolvente ... (No un verdadero refactoring) - Alrededores seleccionado un bloque de código con cualquiera de una serie de construcciones estándar, tales como intentar .. .. salvo fin, si a continuación, empezar final .., etc ... Esto no es una verdadera porque refactoring cambia el comportamiento del código, pero no hemos podido encontrar un mejor lugar para colocarlo.

Castalia automatizados de refactorings son auténtica joya, y han hecho muchos desarrolladores y muchos directores de desarrollo muy feliz. El aumento de la productividad de tener bien diseñado el código son inconmensurables. Tomando ventaja de Castalia automatizados de refactorización puede ayudar a los desarrolladores a mejorar su código de manera rápida y sin tedio, permitiendo que cualquier código , No importa cuán mal diseñados, para convertirse en un gran código.

Esto marca el final de nuestra serie sobre el uso de Castalia estudio. La semana que viene, será el momento para algo completamente diferente!

Average rating: