Rapide refactoring avec castalia


le Refactoring est le processus de 'l'amélioration de la conception de code existant.' Apprendre à devenir plus rapide et plus productif refactorer avec Castalia.

C'est le quatrième et dernier épisode de ma série d'articles portant sur les résultats de notre étude sur la façon dont Castalia aide les développeurs à devenir plus productives. Au cours du dernier mois, I & #39 ai écrit, à propos de la réduction de travail par la réduction des touches du clavier, de la qualité de la rédaction du code plus rapide avec live la vérification des erreurs, et de naviguer d'un code plus rapide et avec plus de précision. Cette semaine, je vais discuter de l'un de Castalia & #39 s les plus productives et les plus utiles caractéristiques: Automatisé de Refactoring.

Il n' & #39 t importe comment nous sommes, nous sommes tous d'écrire du code qui pourrait être mieux. Nous regardons souvent au code existant et de réaliser que nous aurions pu utiliser mieux les noms de classe, une meilleure séparation des méthodes, l'amélioration de l'organisation, etc.... C'est ce que le refactoring est sur - modification du code existant pour le meilleur.

L'ouvrage définitif sur le sujet est Refactoring: l'Amélioration de la Conception de Code Existant par Martin Fowler. Dans ce livre, Fowler définit refactoring comme 'l'amélioration de la conception de code après qu'il a été écrit.' Refactorings sont de procédures officielles pour l'évolution de la conception de code existant sans altérer le comportement du code. (D'ailleurs, certains de Castalia & #39 s refactorings, certes, ne sont & #39 t vraiment refactorings, car ils modifient le comportement du code).

Le but de cet article, cependant, n'est pas de vanter les vertus de refactoring ou essayer de vous convaincre que c' & #39 s une bonne idée pour commencer. I & #39 ll supposent que vous avez déjà comprendre pourquoi le refactoring est nécessaire, ou que vous & #39 ll croyez-moi quand je dis que c' & #39 s une bonne chose. Ce que je veux vraiment faire est de parler de ce que nous avons vu quand nous avons regardé les gens de refactoring de code à la main, et la refactorisation de code avec Castalia.

Lorsque nous avons observé les développeurs au travail, nous avons remarqué que de nombreux développeurs passé beaucoup de temps à renommer des choses ou de la réorganisation de choses. Ces assez simple des tâches pourrait prendre des jours dans les grands projets (imaginez avoir à changer toutes les occurrences de TCustMan TCustomerMan à 250 000 lignes de code réparties sur 300 dossiers).

les Développeurs ont pris un certain nombre d'approches. Le plus utilisé Delphi & #39 s 'Rechercher dans les Fichiers' pour trouver toutes les occurrences de l'identifiant en question puis de les ouvrir chaque fichier et utilisé Delphi & #39 s 'Rechercher/Remplacer' boîte de dialogue pour modifier le texte. Cela semblait être le moyen le plus efficace de le faire, même si nous avons pu observer une autre approche intéressante: Certains développeurs voudrais juste changer le nom de la déclaration, et de compiler le projet. Lors de la compilation échoue avec une innombrable quantité de 'Identificateur non déclaré' les erreurs, ils iraient à chacun d'eux et de modifier l'identificateur. C'est la méthode prescrite par Fowler.

Avait le développeur que nous & #39 ve parlé sait comment utiliser Castalia & #39 s 'Renommer la Classe' refactoring pour renommer sa classe, les choses auraient été très différentes. À l'aide de Castalia & #39 s automatisé 'Renommer la Classe' refactoring, le processus prend un moins d'une seconde. Il n'y a & #39 t vraiment un moyen logique pour décrire l'amélioration, puisque personne ne va me croire si je vous dis que l'on peut prouver que Castalia peut offrir à une augmentation de productivité de 22 000% (1 seconde automatisé par rapport à la prise de 6 heures pour le faire à la main), même si c'est vrai.

Refactoring n'est & #39 t juste sur la façon de renommer les choses, cependant. Un autre exemple courant est la 'Méthode d'extraction' refactoring, qui nous & #39 ve tous besoin à un moment ou à un autre. C'est probablement le plus commun de refactoring effectuée par 'manuel' refactorings. Nous utilisons cette quand une méthode est un peu monolithique et nous savons que certaines parties doit être décomposé en d'autres méthodes. Nous couper et coller, déplacer les variables, d'ajouter des paramètres, etc... jusqu'à ce que le code est conçu mieux, mais le comportement n'a & #39 t changé. Cette factorisation est généralement plus rapide que le renommage de certains à l'échelle mondiale-objet utilisé, mais il a le potentiel intéressant d'introduire des erreurs qui n'étaient & #39-t-il avant de. Les développeurs qui ont appris à utiliser Castalia & #39 s automatisé 'Extrait de la Méthode' refactoring trouvé qu'ils pourraient obtenir de la méthode d'extraction plus rapide, faire moins de travail à la main, et de réduire considérablement le risque d'introduire des erreurs à près de zéro.

Comment pouvez-vous voir les mêmes niveaux de productivité? Utiliser les outils de refactoring. Bien sûr, que & #39 s plus facile à dire qu'à faire. À la différence structurelle mettant en évidence ou de la vérification de la syntaxe, le refactoring ne pas sauter à vous et dire: 'utilise-moi!' Apprendre à reconnaître les lieux où les refactorings peut être appliqué faut un peu d'expérience, mais savoir ce qu' & #39 s disponibles peut aider beaucoup. Castalia & #39 s automatisé refactorings sont:

  • Renommer la Classe - Change le nom d'une classe, de changer toutes les références à la classe afin de refléter la classe & #39 nouveau nom.
  • Déplacer la Classe se Déplace d'une définition de classe et de toutes ses méthodes à partir d'une unité à l'autre.
  • Renommer la Méthode Change le nom d'une procédure ou une fonction, et toutes les références à la procédure ou de la fonction.
  • Extrait de la Méthode des Extraits d'un segment de code dans une procédure distincte, en remplacement de l'original segment construites de façon appropriée appel à la nouvelle procédure.
  • Renommer la Variable Locale - Change le nom d'une variable locale et toutes les références à la variable à l'intérieur d'une méthode unique.
  • Inline Variable Temporaire - Lorsqu'une variable est affectée de la valeur d'une simple déclaration, cette factorisation supprime la variable de la procédure et remplace toutes les occurrences de la variable avec la simple déclaration.
  • Split Variable Temporaire - Lorsqu'une variable est affectée à plus d'une fois, il est souvent judicieux de 'split', la variable en deux variables distinctes. Split Variable Temporaire automatise ce par l'ajout d'une nouvelle variable à la procédure et de faire les changements appropriés à diviser la variable d'origine en deux. (J'ai écrit un article sur ce retour en février).
  • Trouver des Références (Pas un vrai refactoring) - Ne & #39 t apporter des modifications au code, mais il trouve toutes les références à un identificateur dans le projet.
  • Surround Avec... (Pas un vrai refactoring) - autour d'un bloc sélectionné de code avec tout d'un certain nombre de normes de constructions tels que essayer..sauf..fin, si alors commencer..fin, etc.... Ce n'est pas un vrai refactoring, car il modifie le comportement du code, mais nous ne pouvions & #39 t trouver un meilleur endroit pour le mettre.

Castalia & #39 s automatisé refactorings sont un véritable joyau, et ont fait beaucoup de développeurs et de nombreux responsables du développement tout à fait heureux. Les gains de productivité d'avoir bien conçue code sont incommensurables. Profitant de Castalia & #39 s automatisé de refactoring peut aider les développeurs à améliorer leur code rapidement et sans ennui, permettant à n'importe quel code, n'importe comment mal conçu, pour devenir d'excellents code.

Cela marque la fin de notre série sur les Castalia étude sur l'utilisation des. La semaine prochaine, il sera temps pour quelque chose de complètement différent!









Rapide refactoring avec castalia


Rapide refactoring avec castalia : Plusieurs milliers de conseils pour vous faciliter la vie.


le Refactoring est le processus de 'l'amelioration de la conception de code existant.' Apprendre a devenir plus rapide et plus productif refactorer avec Castalia.

C'est le quatrieme et dernier episode de ma serie d'articles portant sur les resultats de notre etude sur la façon dont Castalia aide les developpeurs a devenir plus productives. Au cours du dernier mois, I & #39 ai ecrit, a propos de la reduction de travail par la reduction des touches du clavier, de la qualite de la redaction du code plus rapide avec live la verification des erreurs, et de naviguer d'un code plus rapide et avec plus de precision. Cette semaine, je vais discuter de l'un de Castalia & #39 s les plus productives et les plus utiles caracteristiques: Automatise de Refactoring.

Il n' & #39 t importe comment nous sommes, nous sommes tous d'ecrire du code qui pourrait etre mieux. Nous regardons souvent au code existant et de realiser que nous aurions pu utiliser mieux les noms de classe, une meilleure separation des methodes, l'amelioration de l'organisation, etc.... C'est ce que le refactoring est sur - modification du code existant pour le meilleur.

L'ouvrage definitif sur le sujet est Refactoring: l'Amelioration de la Conception de Code Existant par Martin Fowler. Dans ce livre, Fowler definit refactoring comme 'l'amelioration de la conception de code apres qu'il a ete ecrit.' Refactorings sont de procedures officielles pour l'evolution de la conception de code existant sans alterer le comportement du code. (D'ailleurs, certains de Castalia & #39 s refactorings, certes, ne sont & #39 t vraiment refactorings, car ils modifient le comportement du code).

Le but de cet article, cependant, n'est pas de vanter les vertus de refactoring ou essayer de vous convaincre que c' & #39 s une bonne idee pour commencer. I & #39 ll supposent que vous avez deja comprendre pourquoi le refactoring est necessaire, ou que vous & #39 ll croyez-moi quand je dis que c' & #39 s une bonne chose. Ce que je veux vraiment faire est de parler de ce que nous avons vu quand nous avons regarde les gens de refactoring de code a la main, et la refactorisation de code avec Castalia.

Lorsque nous avons observe les developpeurs au travail, nous avons remarque que de nombreux developpeurs passe beaucoup de temps a renommer des choses ou de la reorganisation de choses. Ces assez simple des taches pourrait prendre des jours dans les grands projets (imaginez avoir a changer toutes les occurrences de TCustMan TCustomerMan a 250 000 lignes de code reparties sur 300 dossiers).

les Developpeurs ont pris un certain nombre d'approches. Le plus utilise Delphi & #39 s 'Rechercher dans les Fichiers' pour trouver toutes les occurrences de l'identifiant en question puis de les ouvrir chaque fichier et utilise Delphi & #39 s 'Rechercher/Remplacer' boîte de dialogue pour modifier le texte. Cela semblait etre le moyen le plus efficace de le faire, meme si nous avons pu observer une autre approche interessante: Certains developpeurs voudrais juste changer le nom de la declaration, et de compiler le projet. Lors de la compilation echoue avec une innombrable quantite de 'Identificateur non declare' les erreurs, ils iraient a chacun d'eux et de modifier l'identificateur. C'est la methode prescrite par Fowler.

Avait le developpeur que nous & #39 ve parle sait comment utiliser Castalia & #39 s 'Renommer la Classe' refactoring pour renommer sa classe, les choses auraient ete tres differentes. A l'aide de Castalia & #39 s automatise 'Renommer la Classe' refactoring, le processus prend un moins d'une seconde. Il n'y a & #39 t vraiment un moyen logique pour decrire l'amelioration, puisque personne ne va me croire si je vous dis que l'on peut prouver que Castalia peut offrir a une augmentation de productivite de 22 000% (1 seconde automatise par rapport a la prise de 6 heures pour le faire a la main), meme si c'est vrai.

Refactoring n'est & #39 t juste sur la façon de renommer les choses, cependant. Un autre exemple courant est la 'Methode d'extraction' refactoring, qui nous & #39 ve tous besoin a un moment ou a un autre. C'est probablement le plus commun de refactoring effectuee par 'manuel' refactorings. Nous utilisons cette quand une methode est un peu monolithique et nous savons que certaines parties doit etre decompose en d'autres methodes. Nous couper et coller, deplacer les variables, d'ajouter des parametres, etc... jusqu'a ce que le code est conçu mieux, mais le comportement n'a & #39 t change. Cette factorisation est generalement plus rapide que le renommage de certains a l'echelle mondiale-objet utilise, mais il a le potentiel interessant d'introduire des erreurs qui n'etaient & #39-t-il avant de. Les developpeurs qui ont appris a utiliser Castalia & #39 s automatise 'Extrait de la Methode' refactoring trouve qu'ils pourraient obtenir de la methode d'extraction plus rapide, faire moins de travail a la main, et de reduire considerablement le risque d'introduire des erreurs a pres de zero.

Comment pouvez-vous voir les memes niveaux de productivite? Utiliser les outils de refactoring. Bien sûr, que & #39 s plus facile a dire qu'a faire. A la difference structurelle mettant en evidence ou de la verification de la syntaxe, le refactoring ne pas sauter a vous et dire: 'utilise-moi!' Apprendre a reconnaître les lieux ou les refactorings peut etre applique faut un peu d'experience, mais savoir ce qu' & #39 s disponibles peut aider beaucoup. Castalia & #39 s automatise refactorings sont:

  • Renommer la Classe - Change le nom d'une classe, de changer toutes les references a la classe afin de refleter la classe & #39 nouveau nom.
  • Deplacer la Classe se Deplace d'une definition de classe et de toutes ses methodes a partir d'une unite a l'autre.
  • Renommer la Methode Change le nom d'une procedure ou une fonction, et toutes les references a la procedure ou de la fonction.
  • Extrait de la Methode des Extraits d'un segment de code dans une procedure distincte, en remplacement de l'original segment construites de façon appropriee appel a la nouvelle procedure.
  • Renommer la Variable Locale - Change le nom d'une variable locale et toutes les references a la variable a l'interieur d'une methode unique.
  • Inline Variable Temporaire - Lorsqu'une variable est affectee de la valeur d'une simple declaration, cette factorisation supprime la variable de la procedure et remplace toutes les occurrences de la variable avec la simple declaration.
  • Split Variable Temporaire - Lorsqu'une variable est affectee a plus d'une fois, il est souvent judicieux de 'split', la variable en deux variables distinctes. Split Variable Temporaire automatise ce par l'ajout d'une nouvelle variable a la procedure et de faire les changements appropries a diviser la variable d'origine en deux. (J'ai ecrit un article sur ce retour en fevrier).
  • Trouver des References (Pas un vrai refactoring) - Ne & #39 t apporter des modifications au code, mais il trouve toutes les references a un identificateur dans le projet.
  • Surround Avec... (Pas un vrai refactoring) - autour d'un bloc selectionne de code avec tout d'un certain nombre de normes de constructions tels que essayer..sauf..fin, si alors commencer..fin, etc.... Ce n'est pas un vrai refactoring, car il modifie le comportement du code, mais nous ne pouvions & #39 t trouver un meilleur endroit pour le mettre.

Castalia & #39 s automatise refactorings sont un veritable joyau, et ont fait beaucoup de developpeurs et de nombreux responsables du developpement tout a fait heureux. Les gains de productivite d'avoir bien conçue code sont incommensurables. Profitant de Castalia & #39 s automatise de refactoring peut aider les developpeurs a ameliorer leur code rapidement et sans ennui, permettant a n'importe quel code, n'importe comment mal conçu, pour devenir d'excellents code.

Cela marque la fin de notre serie sur les Castalia etude sur l'utilisation des. La semaine prochaine, il sera temps pour quelque chose de completement different!


Rapide refactoring avec castalia

Rapide refactoring avec castalia : Plusieurs milliers de conseils pour vous faciliter la vie.
Recommander aux amis
  • gplus
  • pinterest

Messages récents

Commentaire

Laisser un commentaire

évaluation