Dépendances de classes...

Dépendances de classes... - HTML/CSS - Programmation

Marsh Posté le 01-07-2008 à 16:35:12    

Bonjour,
 
Je possède un framework JavaScript comprenant une centaine de classes environ.
 
J'aimerais pouvoir le découper en plusieurs "composants", mais pour cela, j'aimerais arriver à trouver toutes les dépendances entre chaque classe (que ce soit au niveau de l'héritage ou de l'utilisation de méthodes d'autres classes). Connaissez-vous un outil, ou des lignes de code à réaliser qui indiquerait les dépendances entre chaque classe ? (comme Metrics par exemple)
 
Merci d'avance :)

Reply

Marsh Posté le 01-07-2008 à 16:35:12   

Reply

Marsh Posté le 01-07-2008 à 16:50:56    

Le caractère dynamique du js rends l'automatisation des recherche de dépendance quasi-impossible, il te faut te reposer sur une méthode explicite ( par exemple en haut des fichiers un tag dans un commentaire qui dise quelles sont les dépendances ). À partir de la, tu peut extraire ce tag pour chaque fichier et extraire ton arbre de dépendance, c'est pas très difficile à faire, mais c'est fastidieux à remplir au début si tu as un projet déjà avancé, et c'est assez facile de se tromper et d'oublier une dépendance vu que c'est noté à la main (sans compter qu'il faut maintenir l'information à jour si tu modifie un fichier ....).


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 01-07-2008 à 16:56:41    

+1 avec 0x90
Par contre, j'aime beaucoup ce qui a été fait par YUI avec "load on demand" sur les composants, voir cet article ou c'est tout bien expliqué: http://24ways.org/2007/keeping-jav [...] ies-at-bay


---------------
Software and cathedrals are much the same - first we build them, then we pray.
Reply

Marsh Posté le 01-07-2008 à 17:21:40    

Merci à vous deux. :jap:
 
 
anapajari >> Dans notre framework, on a déjà un système très similaire sur la gestion des classes en composants et leur chargement ;)
Cette technique est pamal, mais sur des très gros projets, ca devient rapidement ingérable. :/

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed