Un exemple spécifique: se familiariser avec le code source du projet de Django (noyau, contribuations, etc.). Exemple d'outil utile: CTAGS - Il vous permet de "sauter" dans l'emplacement du fichier + où une fonction / méthode est définie. S'interroger sur d'autres outils que les développeurs utilisent (Exemple: y a-t-il un outil qui compte une fonction x (), répertorie les fonctions qui appellent x () et qui sont appelées par x ()?). Merci. P>
edit fort>: Ajout d'une réponse avec un agrégat d'outils mentionnés jusqu'à présent dans d'autres réponses p>
9 Réponses :
Vous pouvez peut-être essayer cscope! Wikipedia dit que P>
CSCOPE est souvent utilisé pour rechercher le contenu dans les fichiers C ou C ++, mais il peut être utilisé pour rechercher du contenu dans d'autres langues telles que Java, Python, PHP et Perl. [Citation requise] P> blockQuote>
Et vous pouvez également creuser dans Ce projet . P>
Je pense Komodo Modifier et PYDEV vous permet de sauter à la fonction Python defs. P>
Ceci est subjectif, je pense que cela devrait probablement être un wiki communautaire. Cela dit, la meilleure chose que vous puissiez probablement faire pour parcourir de grands projets consiste à connaître les raccourritiques fournis dans votre IDE préféré. L'utilisation du clavier pour parcourir le code source grand est beaucoup plus facile que de faire défiler le texte manuellement, mettez en surbrillance le texte et de fumer à travers un IDE avec une souris. p>
Documentez-le comme vous allez. Quittez les sentiers, améliorez la structure et conservez des notes. Au moment où vous avez trouvé votre chemin autour de l'entrée CodeBase, vous aurez une bonne carte. P>
Beaucoup (ou même le plus, je devrais dire) l'IDE vous aident dans cela en vous permettant de vous rendre à des définitions de variables et de fonction, souvent par simplement CTRL + clic, ou vous affichez des aperçus de classe où vous pouvez voir toutes les méthodes et attributs A La classe a compris celles héritées et vous permettant d'aller à leur définition, etc., etc., je ne peux pas recommander suffisamment d'un tel outil, c'est très gain de temps pour le développement. P>
J'utilise personnellement Wingide, ce qui est excellent et contient toutes ces fonctionnalités, mais vous devriez également consulter Komodoedit et Eclipse + Pydev. Il y a peut-être plus que je ne connais pas, et il est pleinement possible que Vim et emacs ont une sorte de plugins pour cela. P>
Ce qui suit est un agrégat d'outils mentionnés dans d'autres réponses ... P>
http://cscope.sourceforge.net/ p>
Entrée Wikipedia: http://fr.wikipedia.org/wiki/cscope < / p>
CSCOPE est un mode console ou une interface graphique basée sur textuelle ... il est souvent utilisé sur de très grands projets pour trouver du code source, des fonctions, des déclarations, des définitions et des expressions régulières données à une chaîne de texte. P>
http://pypi.pytthon.org/pypi/pycscope/ p>
génère un indice CSCOPE des arbres de source Python P>
http://ctags.sourceforge.net/ p>
http://ctagn.sourceforge.net/ctus.html P>
Entrée Wikipedia: http://fr.wikipedia.org/wiki/ctugs < / p>
CTAGS est un programme qui génère un fichier index (ou tag) de noms trouvés dans les fichiers source et d'en-tête de différentes langages de programmation. Selon la langue, les fonctions, les variables, les membres de la classe, les macros et ainsi de suite peuvent être indexés. Ces balises permettent aux définitions d'être rapidement et facilement situées par un éditeur de texte ou une autre utilité. p>
Entrée Wikipedia: http://fr.wikipedia.org/wiki/eclipse_%% 28Software% 29 P>
Eclipse est une plate-forme de développement logicielle multilingue comprenant un système IDE et un système de plug-in pour l'étendre. Il est écrit principalement en Java et peut être utilisé pour développer des applications en Java et, au moyen des divers plug-ins, dans d'autres langues, y compris C, C ++, Cobol, Python, Perl, PHP et autres. p>
http://pydev.sourceforge.net/ p>
"Pydev est un plugin permettant aux utilisateurs d'utiliser Eclipse pour le développement Python et Jython - Faire de l'Eclipse une première classe Python IDE" P>
http://www.activestate.com/komodo_edit/ P>
Entrée Wikipedia: http://fr.wikipedia.org/wiki/activestate_komodo < / p>
Komodo Edit est un éditeur de texte gratuit pour les langages de programmation dynamiques introduits en janvier 2007. Avec la version de la version 4.3, Komodo Modifier est construite en plus du projet Open Komodo. P>
Il a été développé pour les programmeurs qui ont besoin d'un éditeur multilingue avec une fonctionnalité large, mais pas des caractéristiques d'une IDE, telles que le débogage, la visionneuse DOM, les obus interactifs et l'intégration de la commande de code source. P>
Je viens de penser que je partagerais un lien avec un petit script amusant intéressant que j'ai trouvé il y a longtemps, qui dessine un graphique des appels de fonction. Cela ne fonctionne que pour des cas simples, alors "tel quel" c'est plus amusant que utile. P>
ROPEMACS est un plugin pour effectuer des refacteurs en python dans Emacs. Il utilise Rope Bibliothèque et Pymacs. P>
http: // www. énigmacurry.com/2008/05/09/emacs-as-a -powful-pyThon-ide/ P>
Wing IDE a une définition goto, trouvez des utilisations, un navigateur source, un refactoring et d'autres fonctionnalités de renseignement de code qui devraient aider. Un autre bon moyen de comprendre le code python inconnu est de définir un point d'arrêt, de s'y courir dans le débogueur, puis de monter et de descendre de la pile. Dans Wing Professionnel, vous pouvez également utiliser la sonde de débogage pour interagir et essayer des choses dans l'état d'exécution de débogage (c'est une coquille Python qui fonctionne dans le cadre du cadre de pile de débogage actuel). P>
existe un outil qui compte une fonction x (), répertorie les fonctions qui appellent x () et qui sont appelées par x ()? P> blockQuote>
Je pensais juste que je partageais un lien avec un petit script amusant intéressant que j'ai trouvé il y a longtemps, qui dessine un graphique des appels de fonction . Cela ne fonctionne que pour des cas simples, alors "tel quel" c'est plus amusant que utile. P>
Pour le développement normal Python Personnellement, j'utilise GNU emacs avec corde / ropemacs (trouvé un vidéo A > Afficher les fonctionnalités) et parfois Eclipse avec Pydev . P>
Vous devriez remarquer que CSCOPE ne cible que l'UNIX, Linux OSS. P>