Eclipse: le Plus utile refactorings
Chaque maintenant et encore une fois, je me sers de l'Éclipse fonctionnalité de refactoring. Certaines techniques sont plus évidentes que d'autres et certains je n'ai jamais essayé.
Ce refactoring est le plus utile pour vous et pourquoi?
Remarque: je trouve cette présentation très utile, peut-être parce qu'il est piloté par exemple donc facile à comprendre:
Edit: Cet article est utile (Grâce gigue)
Explorer les fonctions de refactorisation à Eclipse. JDT
- ibm.com/developerworks/opensource/library/...
- La référence pour le refactoring est Martin Fowlers livre "Refactoring: l'Amélioration de la Conception de Code Existant". Eclipse met en œuvre un grand nombre de ces - comme d'autres IDE (netbeans, IntelliJ) - pour moi, c'est sur LES points forts d'une IDE et une raison pour ne pas commencer la programmation Java sans un.
- Subjective, n'a pas une réponse unique, le sujet doit être marqué de la CW.
- Il n'y a pas de bonne réponse à cette question, je vous suggère de mettre comme un wiki de la Communauté
- Je voudrais reformuler la question - est-il un plugin pour Eclipse meilleur ou aussi bon que Eclipse "native" refactoring?
Vous devez vous connecter pour publier un commentaire.
C'est une question intéressante. Je sais ce qui fonctionne pour moi et il est intéressant de voir ce que les autres utilisent.
J'ai décidé de prendre une approche plus scientifique, afin de déterminer le plus couramment utilisé refactoring commandes. Eclipse a un L'utilisation de collecteurs de Données (UDC) intégrée. Les données sont disponible publiquement. J'ai pris les données et en extrait le graphique suivant qui montre le plus couramment utilisé des commandes d'édition (sans commandes de navigation).
le texte d'alt http://img.skitch.com/20091207-bmcng36rjy837sqmcx58b85age.gif
Cependant, je suis un croyant ferme dans "Enregistrer" Actions pour la mise en forme et l'organisation des importations (lire mon article sur le sujet), donc je ne compte pas ceux-là. Je voudrais aussi supprimer le commentant les actions. L'image ressemble à ceci: le texte d'alt http://img.skitch.com/20091207-ieas1mk5114fwitucqkqxyw6t.gif
Renommer - parce que de donner des choses, des noms significatifs est la meilleure façon d'écrire l'auto-documentation du code. Maj+Alt+R
Méthode d'extraction - chaque fois qu'une méthode est trop long. Maj+Alt+M
Extrait constante - parce que la magie chiffres sont mauvais. Maj+Alt+T (refactoring menu, il n'y a pas de raccourci directe).
Inline/introduire une variable - pour supprimer l'encombrement de méthodes. Maj+Alt+I (inline), Maj+Alt+L (introduire)
Mes préférés (dans l'ordre d'utilisation):
Alt-Shift-R
, ouCtrl-1
pour les plus rapides en-renommage de fichiers)Bon de renommer les variables,méthodes,etc. sans effets secondaires.
Ctrl-1
,Alt-Shift-L
)Bon pour le fractionnement d'une rapide faite de 100 caractères de la ligne pour séparer les étapes.
Alt-Shift-M
)Créer une méthode de code, sans effets secondaires.
Ctrl-1
)Bon quand vous initialisez une variable à la déclaration et maintenant, savoir, que l'initialisation doit être en essayer - ou si-bloc.
Alt-Shift-C
)La pratique Couteau de l'Armée Suisse de la signature de la méthode de manipulation, y compris les valeurs par défaut pour les nouveaux paramètres.
Tirez sur les méthodes et variables d'une interface générique ou super-classe ou poussez-la vers le bas pour une sous-classe
Extrait d'une interface ou d'une super-classe de la classe en cours. Très pratique.
Mes favoris:
Les plus populaires de refactorings ont été dit, et je suis entièrement d'accord avec eux.
Formateur de Code (Source, Format ou Ctrl Maj F) est l'une des caractéristiques de l'IDE que j'utilise très souvent. Vrai, il n'est pas refactoring, mais il améliore la lisibilité du code, tout en conservant votre style de codage: il suffit de la tête aux Préférences, Java, Code de Style, Formateur et dire Eclipse comment vous voulez que votre code!
Générer les Getters et les Setters est également une fonctionnalité que je trouve pour gagner du temps lors de l'écriture des Java beans.
Eclipse a peut-être le moins refactorings pour tous les populaire IDEs. Vous pourriez envisager de Netbeans ou IntelliJ (Community edition est gratuit). A l'inverse de l'Éclipse a peut-être le meilleur débogueur. 😉
- Je utiliser refactoring que j'écris le code (que j'ai trouvé des vitesses d'écriture d'environ 15%), de sorte IntelliJ la capacité de refactorisation de code qui ne compile pas très utile pour moi. Les autres IDEs peuvent supporter maintenant (quelqu'un sait?)
Je trouve IntelliJ smart complète est un peu juste plus intelligent que bien.
J'ai testé en train de retaper un des fichiers d'impression (écrit à l'origine dans eclipse) et a trouvé que j'ai utilisé 30% de moins de touches et 50% moins de mouvements de la souris lors de la saisie du fichier avec l'Ide (en comparaison avec Eclipse) je dirais Netbeans pour être quelque part au milieu.
Mes favoris sont:
1) Renommez - Il fonctionne sur les noms de méthode, les noms de variables, les noms de classe, les champs-- vraiment quoi que ce soit avec un nom.
2) Convertir la Classe Anonyme Imbriquées - Aide au débogage, vous permet de réutiliser la logique (tel qu'un comparateur) que vous pensé que vous pourriez utiliser dans un seul endroit.
3) Convertir le Type de Membre de Haut Niveau - Souvent après avoir fait une classe anonyme dans une classe imbriquée, je découvre que la classe est utile ailleurs. Cette factorisation est parfait alors.
Ce que j'utilise le plus est de Renommer, Méthode d'extraction et de Changer de Signature de la Méthode, dans cet ordre.
CTRL + 1 sur un rouge bordée de section, c'est à dire la correction rapide.
J'aime la Méthode d'extraction (Alt+Maj+M), et depuis 3.6M1, il gère maintenant les sélections qui contiennent des instructions continue.
Extrait de la méthode de refactoring à continuer http://download.eclipse.org/eclipse/downloads/drops/S-3.6M1-200908061400/images/extract-method-continue.png
Extrait de la méthode de refactoring avec un retour ambigu valeur d'erreur http://download.eclipse.org/eclipse/downloads/drops/S-3.6M1-200908061400/images/extract-method-multiple-return-values.png
J'utilise :
1 - Renommer - pour mieux corriger le nom de la méthode
2 - Déplacer - pour organiser mon colis dans de meilleures façons, comme quand j'ai commencer mon projet, il était si petit, donc pas besoin d'un io paquet, mais maintenant oui.
3 - Générer des Commentaires -quand je créer un .classe d'éviter de me re-copie de la licence GPL, etc
4 - Indentation à garder mon code lisible.
Correct Indentation
:CNTRL
+SHIFT
+F
final
comme moi) et effectue également la mise en forme.Il est également intéressant de lire cette recherche: Comment puis-API-elle évoluer? Une histoire de refactoring. par D. Creuser et R. Johnson.
Les auteurs ont remarqué que 80% des changements ont été refactorings et classées. Voici le résumé:
", C'est aussi la peine de lire cette recherche: Comment puis-API-elle évoluer? Une histoire de refactoring. par D. Creuser et R. Johnson.
Les auteurs ont remarqué que 80% des changements ont été refactorings et classées. Voici le résumé ... "
80% de la fraction changements ont été observés à être refactorings.
Les refactorings eux-mêmes formé seulement 20% à 30% des changements de l'API..