构建基于LXR的源代码浏览平台
作者: 张桂权
如果你浏览过FreeBSD/Linux Kernel Cross Reference那么对LXR应该不会很陌生了。LXR,即“the Linux Cross Reference”的缩写,是为了更好的索引及呈现代码库而开发的工具集。LXR最初是为Linux开发的,不过目前已在很多软件项目中得到广泛的应用。
采用LXR构建源代码浏览平台有那些优越之处呢?如果你浏览过Linux的源码库平台,那你就明白了:
(1)构建在Web环境的平台,可以供大型项目中的所有人员进行代码查阅,不受物理地域的限制;
(2)提供代码的 cross-referencer浏览,以及代码在文件中的“行号”标识,可以从任何地方跳转到所关注“主体”相关的声名及定义内容,方便于阅读。对于大型的软件项目,比如,代码有几十M甚至像Linux内核一样有几百M(对于这样的项目,代码行和文件数量之大是可以想象的。SQLite 3.7.0版本代码中sqlite3.c文件大概有4.0M,文本行数118,667行。我用grep和wc过滤了一下注释,大概有8万多行的代码。当然,SQLite对代码的格式进行了很多优化,能更好的适用于打印排版。每行基本上都控制在80个字符以内,所以逻辑的一行代码可能被分解成几行,从而增加了代码的行数。),
(3)提供了“文件搜索”、“标识搜索”等查询功能,让阅读体验更加人性化等。
虽然,很多开发人员都喜欢用“