2010-04-06 7 views
1

J'ai une base de code d'environ 5,3k LOC avec environ 30 classes différentes. Le code est déjà très bien formaté et je veux l'améliorer en préfixant les méthodes qui ne sont appelées que dans le module qui ont été définies avec un "_", afin de l'indiquer. Oui, cela aurait été une bonne idée de le faire dès le départ, mais maintenant il est trop tard: DPython analyse les appels de méthode d'autres classes/modules

Fondamentalement, je suis à la recherche d'un outil qui me dira si une méthode n'est pas appelée en dehors du module, il était défini dans, je ne suis pas à la recherche de choses qui vont automatiquement convertir le tout pour utiliser des traits de soulignement, juste une chose "simple" qui me dit où je dois chercher des choses préfixant. J'ai jeté un coup d'oeil sur le module AST, mais il n'y a pas de moyen facile d'obtenir une liste de définitions de méthodes et d'appels, aussi l'analyse du texte brut génère trop de faux positifs. Je n'insiste pas pour passer le (s) jour (s) à réinventer la roue lorsqu'il existe déjà une solution à mon problème.

+0

Qui serait aidé par ceci? Est-ce que tout ce travail va vraiment aider quelqu'un? –

+0

Eh bien, cela m'aiderait car je commence à perdre la vue d'ensemble sur l'endroit où la méthode est appelée, d'autant plus que je n'utilise pas un IDE comme PyCharm ou PyDev. PyCharm a un lissage des polices vraiment moche et dans Eclipse, il a beaucoup de mal avec la configuration des couleurs. Je ne peux pas supporter le texte noir sur fond blanc. PS: Je suis le seul à développer la chose: http://github.com/BonsaiDen/Atarashii/tree/next J'ai beaucoup de temps libre en ce moment (pas de boulot ...) donc je suis passer 75% ou plus de mon temps sur cette chose. –

Répondre

0

Pour moi, cela ressemble à un cas particulier de couverture.

Ainsi je jetterais un coup d'oeil à coverage.py ou à figleaf et le modifierais pour ignorer les appels inter-module.

+0

Creuser dans le code d'autres peuples est encore plus difficile que d'écrire quelque chose à partir de rien je pense, mais de toute façon je ne connaissais pas de couverture/figleaf avant donc merci, car il a déjà trouvé un peu de code mort :) –

Questions connexes