Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1001 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  Comment découvrir un code ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment découvrir un code ?

n°1858206
ludo2612
Posté le 05-03-2009 à 20:56:14  profilanswer
 

Bonjour,
 
Comment doit-on s'y prendre quand on arrive dans un projet dont on n'a jamais vu le code ?
Je ne sais jamais par où commencer...
 
Merci d'avance de vos réponses

mood
Publicité
Posté le 05-03-2009 à 20:56:14  profilanswer
 

n°1858209
Elmoricq
Modérateur
Posté le 05-03-2009 à 21:10:47  profilanswer
 

Pré-requis 1 : connaître le langage [:dawa]

 

Puis, tu ouvres le fichier [:god]

 

Ensuite, tu cherches la fonction main() (ou équivalent suivant le langage) [:klem3i1]

 

Et après, tu lis le code jusqu'à comprendre.  [:smogl]

 

edit : plus sérieusement, ta question n'est pas très précise. Par "projet", tu entends quoi, un binaire ? Deux ? Beaucoup plus ? Tu connais ce que fait le binaire avant de tenter de l'analyser ou tu pars du code sans même savoir ce qu'il est censé faire ?


Message édité par Elmoricq le 05-03-2009 à 21:12:20
n°1858210
ludo2612
Posté le 05-03-2009 à 21:13:38  profilanswer
 

Jusque là je suis d'accord mais je me demandais s'il y avait des techniques pour comprendre plus rapidement.  
Et une technique pour trouver le main en Java sous Eclipse ?

n°1858213
Elmoricq
Modérateur
Posté le 05-03-2009 à 21:18:06  profilanswer
 

ludo2612 a écrit :

Jusque là je suis d'accord mais je me demandais s'il y avait des techniques pour comprendre plus rapidement.


 
En partant du principe que tu n'as aucune documentation et que tu sais juste ce que fait le programme, soit la grande majorité des analyses à faire ? Je n'en connais pas en tout cas.
Pour ça que lorsque je dois coder une évolution, j'ajoute dans mon évaluation de charge un temps d'analyse conséquent, et c'est très bien compris d'ailleurs.  
Si c'est pour un debugging, l'analyse est en revanche beaucoup plus courte, j'ai rarement eu à comprendre plus que le bout de code concerné. [:dawa]
 

ludo2612 a écrit :

Et une technique pour trouver le main en Java sous Eclipse ?


Je ne connais pas eclipse, mais bon, j'dirais lire le manifest du .jar est un bon départ, et s'il n'y a qu'un seul .java, alors la fonction main ne devrait pas être trop dure à trouver. ;)

n°1858216
ludo2612
Posté le 05-03-2009 à 21:21:05  profilanswer
 

Citation :

et s'il n'y a qu'un seul .java, alors la fonction main ne devrait pas être trop dure à trouver. ;)


J'ai rarement vu des projets avec un seul .java
 

Citation :

Je ne connais pas eclipse, mais bon, j'dirais lire le manifest du .jar est un bon départ


Merci c'est quelque chose à laquelle je n'avais jamais pensé
 
Merci pour vos réponses.

n°1858221
Elmoricq
Modérateur
Posté le 05-03-2009 à 21:34:42  profilanswer
 

ludo2612 a écrit :

Citation :

et s'il n'y a qu'un seul .java, alors la fonction main ne devrait pas être trop dure à trouver. ;)


J'ai rarement vu des projets avec un seul .java


 
Et rarement avec un seul .jar non plus.  
Pour le reste, il n'y a plus qu'à prier que celui qui a écrit le code a d'abord passé du temps à le penser (ce qui n'arrive pas souvent), qu'il est compétent (ce qui n'est pas toujours le cas), qu'il est adepte du code auto-documenté (je n'en ai pas beaucoup vu), et qu'il remplit bien la javadoc (lol).

n°1858407
fluminis
Posté le 06-03-2009 à 11:05:22  profilanswer
 

comprendre un nouveau projet ?
c'est long et tant que tu n'as pas foutu le nez dedans tu peux difficilement cerner les difficultés :
 
tu passes (en tout cas c'est mon cas) par les phases :
- ouah c'est tout beau tout mignion, ils ont fait des trucs de ouf les gars avant moi
- bon alors c'est où que je dois foutre mon bout de code pour faire la petite evolution qui m'est demandée
- hum c'est pas si facile que ca cette appli j'avais pas vu cette suptilité
- sous le caillou se cachait une montagne, j'avais pas vu la complexité du bouzin
- merde finalement c'est codé avec les pieds cette appli, j'aurai pu faire mieux
- je reecris une partie du code, et je crade un peu plus l'appli car j'ai pas le temps de réécrire l'appli complete
 
:)


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
n°1858435
kadreg
profil: Utilisateur
Posté le 06-03-2009 à 12:14:03  profilanswer
 

ludo2612 a écrit :

Jusque là je suis d'accord mais je me demandais s'il y avait des techniques pour comprendre plus rapidement.  
Et une technique pour trouver le main en Java sous Eclipse ?


 
run->debug configuration
 
et la, tu as un search de main class


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°1858448
rufo
Pas me confondre avec Lycos!
Posté le 06-03-2009 à 13:19:16  profilanswer
 

Ca m'est arrivé y'a pas longtemps (1 mois) pour un soft en php/mysql. J'ai commencé par demander : Ou sont les spécs? Où est le dossier de conception? Où est le MCD?... Y'avait les spécs mais pas complètes (des § où on pouvait lire un laconique "à définir" ). Donc reverse ingé sur la BD puis une fois que j'ai compris la structure de la bd, j'ai regardé l'architecture du code : d'abord les répertoires puis chaque fichier pour voir les liens entre l'IHM et les fichiers de code php. Avec tout ça, ça m'a permi d'avoir une bonne vue d'ensemble.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°1858502
fluminis
Posté le 06-03-2009 à 14:35:09  profilanswer
 

Mouais, demander les specs c'est un debut pour mettre le pied a l'etrier, mais le nombre de projet où les specs n'ont pas évolué avec le code...
 
Ensuite les docs techniques qui datent un peu : qui datent d'avant les 10 refactoring successifs...
 
La javadoc peut etre une aide, en espérant que les petits developpeurs bienveillant ont pensés à toi !
 
:D


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
mood
Publicité
Posté le 06-03-2009 à 14:35:09  profilanswer
 

n°1858505
rufo
Pas me confondre avec Lycos!
Posté le 06-03-2009 à 14:47:37  profilanswer
 

Ben moi, pour le projet Astres (cf ma signature) sur lequel je travaille depuis fin 2003 (14 versions mises en prod depuis) :
- les spécs sont à jour
- le dossier de conception est à jour (plus de 500 pages!)
- le manuel d'exploitation est à jour,
- le dossier de tests est à jour (plus de 300 pages!)
- le manuel est à jour (plus de 500 pages mais y'a beaucoup d'imprim-écran!).
- et je mets les commentaires en phpdoc pour les prototypes de chaque fonction.
 
D'un point de vue qualité, la doc fait partie intégrante du logiciel...;)
 
En plus, tenir à jour la doc, je trouve que c'est se montrer respectueux vis-à-vis de ceux qui vont passer derrière nous. Et même pour soir-même, ça aide. Quand on repasse sur du code complexe qui date de plusieurs mois, on est bien content de trouver de la doc dessus (pour répondre à des question du genre "pourquoi j'avais fait ça comme ça?" )

Message cité 1 fois
Message édité par rufo le 06-03-2009 à 14:49:47

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°1858865
ludo2612
Posté le 07-03-2009 à 22:46:01  profilanswer
 

kadreg a écrit :


 
run->debug configuration
 
et la, tu as un search de main class


 
Merci je n'avais encore jamais remarqué depuis 2 ans que je connais Eclipse...

n°1858975
Xavier_OM
Monarchiste régicide (fr quoi)
Posté le 08-03-2009 à 13:37:22  profilanswer
 

rufo a écrit :


D'un point de vue qualité, la doc fait partie intégrante du logiciel...;)


 
Personne dit que c'est impossible ou que c'est mal, c'est juste très rare :D Le cas classique c'est doc périmée/pas de doc.
Longue vie aux trop rares codeurs qui font du code autodocumenté  :jap:


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  Comment découvrir un code ?

 

Sujets relatifs
BESOIN DE CODE WORD VBcode VB
code pour bloquer le lancement d'une application windevdemande de code
[HTML/JAVA] Insertion code java dans une page HTMLFaire correspondre du code PHP aux lignes d'un textarea
Factorisation de code[javascript/html] fonction pour enlever une chaine dans code hTML
[JAVA] [STRUTS] Code dans l'action à executer apres validation du formSuppression de ligne dans Excel
Plus de sujets relatifs à : Comment découvrir un code ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR