Last modified 10 years ago Last modified on 26/04/2007 12:55:15

Organisation des données

Un projet de développement est susceptible d'accueillir plusieurs types de données : codes sources, fichiers compilés, bibliothèques logicielles, documentation, contenu multimédia ... Il convient de ne pas les mélanger, et de tenter de structurer de manière homogène ces données.

Par ailleurs, il convient de stocker l'ensemble des fichiers nécessaires au bon fonctionnement d'un projet dans un même répertoire pour faciliter le déploiement et l'archivage de ce projet. En effet, le jour où vous voudrez exécuter votre programme sur une autre machine que la votre, il faut que la procédure soit simple et sans mauvaise surprise.

Voici un exemple de structuration que je vous recommande d'utiliser lors de la création d'un nouveau projet, ou d'adopter pour vos anciens projet (il n'est jamais trop tard pour prendre de bonnes résolutions) :

  • src : codes sources de votre projet qui seront structurés en paquetages.
  • lib : bibliothèques logicielles utilisées, qui peuvent être des liens vers un répertoire commun de vos bibliothèques utilisées par différents projets (évite la duplication, facilite la maintenance en cas de mise-à-jour).
  • bin : fichiers compilés (.class en Java).
  • doc : documentation du projet
    • api : documentation générée par un outil comme javadoc ou doxygen
    • manual : manuel d'utilisation
  • ressources : fichiers multimédia utilisés par votre application (icônes, ...)
  • data
    • input : données d'entrées de simulations. Un sous-répertoire au nom explicite par simulation.
    • output : données de sorties de simulations. Un sous-répertoire au nom explicite par simulation.
  • dist : version packagée de votre application.

La séparation des différents types de données est important, car elle permettra une meilleure gestion de la maintenance et des sauvegardes. En effet, si les codes sources ont leur place sur un gestionnaire de version, les fichiers compilés eux, sont à proscrire.

Au sujet de la séparation des sources et des fichiers compilés, l'environnement Eclipse stocke les deux dans le même répertoire. La première chose à faire dans Eclipse et donc de corriger cela. La marche à suivre est expliqué dans la page sur Eclipse.

L'autre intérêt de cette structure est de pouvoir utiliser des outils de construction automatiques. Par exemple, vous trouverez sur la page consacrée à ant un script qui vous permettra d'archiver votre programme java dans un seul JAR contenant les bibliothèques utilisées.

Tests unitaires

  • Un test unitaire permet de tester une fonction développée
  • Surtout utile pour les fonctions internes
    • permet de s'assurer que les bases sont correctes
    • et de s'assurer qu'elles le restent
  • C'est un guide vers un programme correct, sans mauvaise surprise
  • Permet d'écarter des sources de bugs : ce qui est testé n'est plus à vérifier !
  • Outils intégrés dans Eclipse, cf ce chapitre de cours.
  • Scénario :
    • Définition d'une classe et des méthodes
    • Question (il n'est jamais trop tard) :
      • Que doit faire ma fonction ?
      • Que devrai-je vérifier pour être sûr qu'elle fait ce que je veux ?
    • Écriture d'un test pour chaque méthode
    • Développement des méthodes jusqu'à ce que les tests réussissent

Utilisation de mann

Demande de création d'un compte

La demande de création de compte se fait en deux étapes (Ceci dit, si vous lisez cette page, c'est que vous avez déjà un compte ;-) ) :

Outils de l'interface web

Gestionnaire de tickets

  • Ajout d'un ticket?
    • Le ticket peut être attaché à un composant. C'est l'administrateur d'un projet qui définit ces composants.
    • Les wikiliens sont possible dans la description du ticket
  • Liste des tickets
    • Possibilité de discuter le ticket en ajoutant des commentaires
    • Possibilité de modifier l'état du ticket, d'assigner la réalisation de la tâche à un utilisateur, d'accepter ou de rejeter une tâche.

Wiki

c'est ici.

Suivi des modifications

c'est là?.

Gestionnaire de versions

Le principe d'un gestionnaire de versions est de centraliser les versions successives de fichiers texte. Il est particulièrement destiné à être utilisé pour accueillir les codes sources d'un programme informatique.

Un serveur subversion est installé sur Mann.

Le plugin pour Eclipse permet d'accéder simplement à un dépôt subversion.

L'utilisation principale est de soumettre un ensemble de fichiers sources après un ensemble de modifications. Cette action, appelé commit, correspond généralement à :

  • un développemet d'une nouvelle fonctionnalité
  • un correctif de bogue
  • un nettoyage, une restructuration de code
  • de la documentation de code

Un attention toute particulière sera portée pour que le code soumis (commité) soit valide, en particulier :

  • le code soumis doit être syntaxiquement correct et passer à la compilation
  • le code doit être lisible (Eclipse intègre un outil de formatage automatique, dans le sous menu "Source" du clic-droit)

Chaque soumission sera également accompagnée d'un commentaire. Ce commentaire peut être bref mais donne une information sur la nature des modifications soumises. Ainsi un correctif de bogue pourra contenir un description de la forme : bugfix : telle fonctionnalité. On pourra même spécifié le numéro du ticket auquel se rapporte cette modification en écrivant simplement #3, ce qui génèrera automatiquement un lien hypertexte depuis la liste des modifications? vers le ticket #3, par exemple. Voir aussi la page d'aide sur la création de liens hypertextes dans trac (bas de la page).

Attachments