Une bonne application est une application qui fonctionne et dont la maintenance est simple. Mais pour fabriquer un logiciel de ce type, il est nécessaire de travailler avec les bons outils. Ces outils doivent permettre :
  • Développer efficacement (IDE)
  • Respecter des standards (UML, Design Pattern)
  • Identifier les bugs rapidement (Tests unitaires, Intégration continu)
  • Suivre les changements (Version)
  • Séparer les environnements (développement, recette, production)
  • Analyser son code (audit)
Conscient qu'énumérer une énième fois ces évidences ne sert strictement à rien (le net étant déjà bien fourni en la matière), je vais proposer une liste d'outils qui à mon sens permettent de retrouver ces idées.
  • Eclipse - Lien
    L'IDE java par excellence. Bon pour les vrais parait que "vi" c'est le top, je suis d'accord, si on code depuis un PDA...
  • Subversion - Lien
    L'utilisation du standard SVN permet de sauvegarder ce qu'on développe, d'avoir un historique du développement, et de lier des modules du logiciel à une version spécifique.
  • Maven - Lien
    Maven c'est comment organiser gérer et automatiser les productions de son logiciel. Plusieurs environnement ? pas de soucis Maven est la et build en fonction. A l'instar d'ant, mais en plus simple.
  • JUnit - Lien
    Bien maitrisé et couplé avec des méthodes de gestion type TDD, l'outil JUnit permet de tester rapidement ce que l'on code pour éviter des erreurs d'interactions entre objets.
  • Hudson - Lien
    Coder c'est bien mais quand il y a plusieurs modules, tôt ou tard faut bien tout regrouper. Hudson son job c'est de tout rassembler et de compiler histoire de voir si ça passe... ou pas !
  • Sonar - Lien
    La Roll's Royce du suivi d'application. 6 mois que mon application est en production, comme je suis fier. Comment ça je sais pas coder ? Comment ça mes algorithmes sont complexes et le code a une maintenabilité exécrable ?