Bonjour,
J'ai un peu du mal à formuler ma question, sans doute à cause de mon inexpérience avec python et en matière de développement en général, excusez moi si c'est un sujet récurrent que je n'ai pas trouvé via la recherche...
J'ai un code python (environ 10k lignes de code réparties dans un soixantaine de classes) dans lequel je dois modifier une fonction qui fait appel à un librairie externe (remplacer un appel à du code java par un appel à un librairie python). Cette fonction formate sa sortie à partir du retour du code java. Je ne peux pas, pour diverses raisons, formatter le retour du python de la même manière. Du coup, je dois m'assurer que ce changement ne cassera rien dans le reste du code.
Je me suis dit que le plus simple serait de retrouver tous les appels à cette fonction pour vérifier que ma modification serait compatible à ce qui est attendu.
Le problème c'est que des fois c'est la fonction qui est appellée, parfois c'est une classe qui utilise un objet de la classe que je modifie et utilise des variables de cet objet et parfois c'est une classe qui appelle un objet qui provient d'une classe qui elle même utilise un objet de la classe que j'utilise... Bref, un sacré paquet de nouilles![]()
Est-ce qu'il y a un moyen de remonter, à partir d'une classe, à tous les appels qui lui sont faits, soit via ses méthodes, soit par héritage, soit par appel d'objet? Y'a surement plus simple que de parcourir tout le code manuellement non?
J'ai essayé avec des profilers (cProfile et kcachegrind) mais ça ne fait pas vraiment ce que je veux, ça me dit qui appelle ais il faut que je trouve moi-même qui est susceptible d'être appellé, ce qui me ramène plus ou moins au point de départ.
Merci.
Partager