Archive

Articles taggués ‘Eclipse’

Le Test Driven Development (ou TDD pour les intimes)

08/04/2009

Qu’est que le TDD ? Bonne question ?

Prenons un petit exemple de réalisation d’une méthode en suivant la méthode du TDD (Test Driven Developpement ou en français le développement piloté par les tests).

Lire la suite…

Java , , , , ,

Que d’outils pour inciter à un code ‘de qualité’ !

08/04/2009

eclipseTestNG, EclEmma, Checkstyle, sont des outils intéressant à mettre dans notre boite à outil qu’est Eclipse !

Le plugin TestNG, un concurrent sérieux de JUnit qui se base sur les annotations, permet de développer des tests unitaires. Et le plugin EclEmma permet de visualiser très rapidement la couverture de notre test écrit à l’aide de TestNG (il fonctionne également avec JUnit).

Les actions de sauvegardes d’eclipse, peuvent elle aussi nous permettre de réaliser certaine taches/actions avant la sauvegarde, comme l’ajout du mot clef ‘final’ sur les attributs de méthode, formater le code, organiser les import…

Java , , , , ,

Astuce Eclipse

22/02/2008
Commentaires fermés

Quand Cyril s’ennui … il nous envoie des mails intéressant :

Allez, une petite astuce Eclipse avant de partir en weekend.

Lorsque vous faites CRTL+O pour ajouter automatiquement les imports, ya toujours les List, Set, Map, Iterator and co. qui n’en font qu’à leur tête et qui vous poppent une boite vous demandant de choisir entre 3 ou 4 differents packages (par exemple List existe dans java.utils et dans java.awt).
Eclipse propose un paramétrage pour virer certains packages des listes de packages proposés. Vous restera donc plus qu’un seul type List dispo, et importer des collections devient alors transparent.

Eclipse > Window > Preferences > Java > Apparence > Type Filters
ajouter les packages (Add Package) :

  • java.awt
  • com.sun.tools.javac.v8.util
  • org.hibernate.mapping
  • org.hsqldb.lib

Comme indiqué en haut de cette page de settings : tous les types (classes & interfaces) dans les packages listés n’apparaitront pas dans la boite Open Type (CTRL+SHIFT+T), les content assist (CTRL+SPACE) et les quickfix (CTRL+SHIFT+&) et cela inclus le « organize imports ».

Seul hic : la setting se fait au niveau WORKSPACE. on ne peut pas le limiter au projet et encore moins à une couche (si vous faites une application AWT et que vous pouvez pas cacher java.awt, ou si vous développez des modules hibernates et que vous pouvez pas cacher org.hib…mapping, ben tant pis pour vous :( ).

Cyril

Quelques raccourcis super utiles :

CTRL+1 (en fait faut taper CTRL+SHIFT+& car en azerty le 1 est sur le shift du &, et je crois me souvenir que ca ne marche pas avec le 1 du keypad)
lorsqu’une ligne est en erreur, ou en warning, on obtient la petite popup qu’on a normalement en cliquant sur l’icone erreur dans la vertical rule (marge gauche). C’est la boite qu’ils appellent QuickFix.
Notamment utile pour ajouter les cast manquant, changer un nom de méthode appelée, la signature de la méthode appelée, changer un void en return, etc.
Mais cette boite peut être appelée meme si ya pas d’erreur, et selon le contexte on a accès à plein de trucs sympas :
(en rouge où il faut placer le curseur avant d’appeler quickfix)
– renommer une variable, ou méthode dans le fichier (comme ALT+SHIFT+R mais que sur le fichier)

– séparer en deux lignes une déclaration de variable de son initialisation
String s = « ceci »;

– inverser le if et le else
if ( false ) {
// one
} else {
// two
}
ca donne if true two else one.

– inverser membres de conditions
if ( this || that) { => if (that || this) {

– inverser une variable booleenne
boolean notThere = i > 0 || that;
=>
boolean there = i <= 0 && !that; ca marche aussi sur les conditions de if / while / etc. - affecter un appel de méthode à une variable getConversionTable(); => ConversionTableVO conversionTable = getConversionTable();

– oter des parenthèses inutiles
if ( (i > 0) && (i <>
if ( i > 0 && …
yen a bien des dizaines. des fois c’est un peu « touchy » faut trouver où il faut mettre le curseur pour que ca apparaisse, mais c’est extrement efficace.

ATL+SHIFT+S :
Accès au menu « Source » qu’on a normalement sur le clic droit.
Notamment :
ATL+SHIFT+S, puis R, ca vous « Generate Getters & Setters ».
ATL+SHIFT+S, puis V, ca vous « Override/Implements Methods ».

ATL+SHIFT+T :
Accès au menu « Refactoring » :
Notamment :
ALT+SHIFT+T, P, ca vous « Introduce Parameter » (en sélectionnant une expression, vous faites en sorte d’ajouter un parametre qui remplace cette expression, et tous les appelant passe l’expression en parametre)

Regardez les raccourcis de ces deux menus, il y a des trucs qu’on utile très souvent :

ALT+SHIFT+I : INLINE. Sélectionnez une variable ou méthode, ca vous met la valeur de la variable, ou le code de la méthode à la place de là où vous avez sélectionné (ya une popup avec une option de remplacer toutes les occurences et supprimer les déclarations devenues inutiles)

ALT+SHIFT+L : EXTRACT LOCAL VARIABLE. Sélectionnez une expression, ca vous crée une variable du bon type initialisée avec l’expression. Ca regarde aussi tous les autres endroits de la méthode où l’expression est utilisée et ca remplace par la variable nouvellement créée.

ALT+SHIFT+M : EXTRACT METHOD. Sélectionnez une expression ou un bout de code, ca va créer une méthode contenant le sélectionner. Il va essayer de détecter les paramètre que le bout de code sélectionné devra recevoir, et le retour qu’on attend. Ca marche plutot très bien. Surtout si les bouts de code sont assez petits (une boucle, le contenu d’un if, le contenu d’une condition d’un if)

ALT+SHIFT+C : CHANGE METHOD SIGNATURE. Selectionner un appel de méthode ou sa déclaration, ca ouvre une boite de dialogue ou on peut réorgniser les paramétres, ajouter des parametres, etc. tous les codes appelant seront mis à jour. Si un paramètre est ajouté, on vous demande de passer la valeur par défaut, c’est la valeur que les appelants passeront (on peut mettre XXX si on veut provoquer des erreurs pour aller voir par soit même ce qu’il faut exactement mettre).

CTRL+SHIFT+G ou CTRL+ALT+H : Trouve partout où une méthode est référencée. Le premier c’est comme de faire clic droit > Références, le second c’est la Call Hierarchy.

Et sinon, plus classique mais ultra efficace :

CTRL+O : la outline en popup dans un fichier, tapez le nom d’un champ/méthode et ca restreint la vue, les wildcard sont autorisés.

CTRL+T : popup représentant la Type Hierarchy. A utiliser notamment sur un appel à une interface, si vous voulez aller dans l’implémentation de la méthode. Si vous faites CTRL+Clic, vous vous trouvez dans le fichier interface, et vous etes pas bien avancés. Avec CTRL+T, il va lister l’interface et toutes ses implentation, choisissez votre implementation, hop vous etes sur le code qui vous interesse.

CTRL+SHIFT+W : fermer tous les fichiers ouverts dans l’editeur. ( »ya trop de fichiers je sais plus ou j’en suis ! je ferme tout »).

CTRL+E : une popup listant tous les fichiers ouverts, on peut taper le nom d’un fichier, avec ou sans wildcard, ca restreint la liste. Très sympa quand on commence a avoir trop de trucs ouverts.

Y’en a probablement plein d’autres, mais c’est probablement ceux que j’utilise le plus.

Cyril

Java ,

Tutoriel Struts 2 + Spring 2 + JPA + AJAX

25/01/2008
Commentaires fermés

Pour ceux qui voudrais ce faire une petite idée de ce que peut-être un projet mettant en oeuvre Struts 2 (WebWorks), Spring 2, JPA (Hibernate3) et AJAX, je conseille le tutoriel de struts !

Pour ceux qui sont intéressé par la validation (coté client) des formulaires c’est par ici.

Je mélange un peux mais vous trouverez ici des informations sur le plugin Dali pour Eclipse. Inclus dans le WTP d’Eclipse ce plugin permet de gérer la programation de projet basé sur JPA (Java Persistence API)

Et pour finir voici un tutorial JPA

Java , , , , , ,

Plugin Akrogen pour eclipse

25/01/2008
Commentaires fermés

Mon premier post sera pour souligner l’existance d’un plugin pour eclipse qui peux être très intéressant !

Akrogen est un Plugin Eclipse de génération de codes orienté composants. Avec Akrogen on peut utiliser les wizard Eclipse pour générer du code, sans connaître l’architecture de plugin Eclipse, les librairies SWT/JFace et sans développer le moteur de template qui permet la génération de code.

Plus d’information, de documentation et autre sur leur site … ou sur developpez.com

Java , , ,