一个具体的例子:熟悉django的项目源代码(core,contrib,utils等)。有用工具的示例:ctags - 它允许您“跳转”到定义函数/方法的文件+位置。想知道开发人员使用的其他工具(例如:是否有一个给出函数x()的工具,列出调用x()和x()调用的函数?)。感谢。
修改:在其他答案中添加了目前为止提到的工具汇总的答案
答案 0 :(得分:9)
以下是其他答案中提到的工具集合......
http://cscope.sourceforge.net/
维基百科条目:http://en.wikipedia.org/wiki/Cscope
cscope是一种控制台模式或基于文本的图形界面......它通常用于非常大的项目,以查找给定文本字符串的源代码,函数,声明,定义和正则表达式。
http://pypi.python.org/pypi/pycscope/
生成Python源树的cscope索引
http://ctags.sourceforge.net/ctags.html
维基百科条目:http://en.wikipedia.org/wiki/Ctags
Ctags是一个程序,可生成在各种编程语言的源文件和头文件中找到的名称的索引(或标记)文件。根据语言,函数,变量,类成员,宏等可以编制索引。这些标签允许通过文本编辑器或其他实用程序快速轻松地定位定义。
维基百科条目:http://en.wikipedia.org/wiki/Eclipse_%28software%29
Eclipse是一个多语言软件开发平台,包含一个IDE和一个插件系统来扩展它。它主要用Java编写,可以用来开发Java应用程序,也可以用各种插件开发其他语言,包括C,C ++,COBOL,Python,Perl,PHP等。
“Pydev是一个插件,允许用户使用Eclipse进行Python和Jython开发 - 使Eclipse成为一流的Python IDE”
http://www.activestate.com/komodo_edit/
维基百科条目:http://en.wikipedia.org/wiki/ActiveState_Komodo
Komodo Edit是2007年1月推出的动态编程语言的自由文本编辑器。随着4.3版本的发布,Komodo Edit建立在Open Komodo项目之上。
它是为需要具有广泛功能的多语言编辑器的程序员开发的,而不是IDE的功能,如调试,DOM查看器,交互式shell和源代码控制集成。
我以为我会分享一个链接到我很久以前发现的一个有趣的小有趣脚本,它绘制了一个函数调用图。它仅适用于简单的情况,所以“原样”它比有用更有趣。
http://rope.sourceforge.net/ropemacs.html
Ropemacs是一个用于在emacs中执行python重构的插件。它使用rope库和pymacs。
http://www.enigmacurry.com/2008/05/09/emacs-as-a-powerful-python-ide/
Wing IDE具有goto-definition,find uses,源浏览器,重构以及其他应该有用的代码智能功能。理解不熟悉的Python代码的另一个好方法是设置断点,在调试器中运行它,然后在堆栈中上下移动。在Wing Professional中,您还可以使用调试探针与调试运行时状态中的事物进行交互和尝试(它是在当前调试堆栈帧的上下文中运行的Python shell)。
答案 1 :(得分:1)
你可以试试cscope!维基百科说
cscope通常用于搜索C或C ++文件中的内容,但它可用于搜索其他语言的内容,如Java,Python,PHP和Perl。[citation needed]
你也可以挖掘this project。
答案 2 :(得分:1)
我认为Komodo Edit和PyDev允许你跳转到python函数defs。
答案 3 :(得分:1)
许多(甚至是大多数,我应该说)IDE可以帮助您实现变量和函数定义,通常只需按住Ctrl键并单击,或者显示类概览,您可以在其中查看所有方法和属性a class包括那些继承的,让你去定义等等,我不能推荐这么高的工具,这对于开发来说非常节省时间。
我个人使用WingIDE,它非常出色且具备所有这些功能,但您还应该查看KomodoEdit和Eclipse + PyDev。可能还有更多我不知道的事情,vim和emacs完全有可能为此提供某种插件。
答案 4 :(得分:1)
是否有一个给出函数x()的工具,列出调用x()的函数和x()调用的函数?
我想我会分享一个链接,这个链接是我很久以前发现的一个有趣的小趣脚本draws a graph of function calls。它仅适用于简单的情况,所以“原样”它比有用更有趣。
对于普通的Python开发,我使用GNU Emacs with rope/ropemacs(找到显示功能的video),有时使用Eclipse with PyDev。
答案 5 :(得分:0)
这是主观的,所以我认为它应该是一个社区维基。也就是说,浏览大型项目可能做的最好的事情就是熟悉您喜欢的IDE中提供的热键。使用键盘浏览大型源代码比手动滚动文本,突出显示文本以及使用鼠标在IDE中摸索要容易得多。
答案 6 :(得分:0)
随时记录。留下痕迹,改善结构,并记下笔记。当你找到了解决输入代码库的方法时,你会得到一张好的地图。
答案 7 :(得分:0)
答案 8 :(得分:0)
您应该注意到cscope仅针对UNIX,Linux操作系统。