不同的软件项目有不同的编码约定;即使在同一个项目中,也可能使用不同的语言并且会有不同的约定。使用源代码中的标识符标记搜索文档(出现在源文件之外)有什么好处?
例如,如果源具有self._def_passwd或this.defPasswd,则文档树上的查询应努力匹配默认密码。
到目前为止,我一直在尝试按 Levenshtein 距离进行排序,这对于较小的编辑距离非常有效,但是当我增加阈值时会出现太多误报,这对文档中的空白是有问题的。
8 0.666667 announcement getContent AnnouncementBean.java(Token.Name.Function )
8 0.666667 announcement getPercent DataObservation.java (Token.Name.Function)
8 0.666667 announcement GroupBean GroupBean.java (Token.Name.Class)
其中第一个值是 Levenshtein 距离,第二个值是距离除以匹配单词的长度。我想
- 研究 Jaccard,Tanimoto 算法
- 智能/建议有点代码
- 在某处,有一些关于生物家伙用于匹配序列的算法的帖子
- 根据http://en.wikipedia.org/wiki/Naming_convention_%28programming%29提出正则表达式链式规则
最后一个实际上是最后一个选项。您认为哪些其他算法可以为这类东西提供更好的结果?