ソフトウェア プロジェクトが異なれば、コーディング規約も異なります。同じプロジェクトでも、異なる言語が使用されている可能性があり、異なる慣習があります。ソース コードからの識別子トークンを使用して、ドキュメント (ソース ファイルの外部に表示される) を検索するには何が適していますか?
たとえば、ソースにself._def_passwdまたはthis.defPasswrdがある場合、ドキュメント ツリーのクエリはデフォルトのパスワードと一致するように努力する必要があります。
これまでのところ、編集距離が小さい場合はうまく機能するレーベンシュタイン距離で並べ替えようとしてきましたが、しきい値を大きくすると偽陽性が多すぎて、ドキュメントの空白で問題が発生します。
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)
ここで、最初の値はレーベンシュタイン距離で、2 番目の値は距離を一致した単語の長さで割ったものです。しようと思っています
- Jaccard、Tanimoto アルゴリズムを調べる
- 知性/ちょっとしたコードを提案する
- SO のどこかに、生物学者がシーケンスのマッチングに使用するいくつかのアルゴリズムに関する投稿がありました。
- http://en.wikipedia.org/wiki/Naming_convention_%28programming%29に基づいて、正規表現チェーン ルールを作成します。
最後のオプションは文字通り最後のオプションです。この種のものに対して、他のどのアルゴリズムがより良い結果をもたらすと思いますか?