vendredi 28 juillet 2017

VISER LA PERFORMANCE EN MODE AGILE Part I (Le Rôle du facilitateur)

Satisfaire le client en délivrant régulièrement un logiciel opérationnel et à grande valeur ajoutée, favoriser la collaboration, l’excellence technique et la simplicité, en encouragent un rythme soutenable. l’ensemble étant sous-tendu par la mise en place d’une politique d’amélioration continue.




« favoriser, encourager et soutenir » sont donc les mots d’ordre du manager agile. il devient un facilitateur au service d’une équipe qui doit parvenir à s’auto-organiser.

Faciliter, cela consiste à aider un groupe, une ou des personnes, à apprendre, explorer, trouver des solutions, atteindre un consensus…

La posture de facilitateur vise à améliorer le fonctionnement d’un groupe pour garantir l’atteinte des objectifs. 

Plusieurs principes guident cette posture : le respect des contributions de chacun, que ce soit dans le monde des idées ou dans le monde des actions. 

Le manager quitte sa position « haute » de celui qui réfléchit et décide pour les autres au bénéfice d’une position « basse » qui aide les collaborateurs à réfléchir et décider.

Sources : 

mardi 11 juillet 2017

La check-list Code Performance

La check-list Performance


Quelques points à vérifier :

  • Les objets sont dupliqués uniquement lorsque cela est nécessaire. Si vous devez dupliquer des objets, envisagé de mettre en œuvre Clone et décider si le clonage profond est nécessaire.
  • Pas de boucles d'attente avec des traitements lents -> favoriser des méthodes en asynchrone et les Threads. 
  • Évitez les gros objets en mémoire ou utilisez la classe String pour contenir de gros documents qui devraient être manipulés avec de meilleurs outils. Par exemple utiliser StringBuilder/StringBuffer au lieu de String.
  • Ne laissez pas le code de débogage dans le code de production.
  • Évitez les System.out.println (); dans le code, -> enrouler les logs dans une déclaration de conditionnement booléen comme if(DEBUG) {...}
  • "L'optimisation qui rend le code plus difficile à lire ne doit être implémentée que si un profiler ou un autre outil a indiqué que la fonctionnalité doit être optimisée. Ces types d'optimisations devraient être bien documentés et le code qui effectue la même tâche devrait être conservé". - UNKNOWN.

jeudi 6 juillet 2017

Quelques bonnes pratiques concernant l'utilisation des exceptions



Ne jamais ignorer une exception


//traitement susceptible de lever une exception
        }catch(Exception ex){
            ex.printStackTrace(); //il faut pas ignorer
        }

Ne pas utiliser la clause throws de manière exhaustive

public void funAction() throws A, B, C { // trop d'exceptions sur le throws
    //corps de la méthode
}

Les exceptions ne sont pas faites pour le contrôle de flux

while(true){
//faire quelque chose
if(condition d'arrêt)
throw new FinDeLaBoucleException(); // ne pas utiliser les exceptions pour controler le flux
}

Attention au return dans un bloc finally !

public int methode(){
try{
return 3;
}finally{
return 4; // pas de return dans un block finally
}
}

Eviter le catch Error ou Throwable

try {

} catch (Error e) { // pas de catch Error ou Throwable
System.out.println("Une erreur est survenue : " + e);
}