0

다른 소프트웨어 프로젝트의 코딩 규칙이 다릅니다. 동일한 프로젝트에서도 사용되는 언어가 다를 수 있으며 다른 규칙이 적용됩니다. 소스 코드의 식별자 토큰을 사용하여 문서 (소스 파일 외부에 표시됨)를 검색 할 때 좋은 점은 무엇입니까? 예를 들어식별자가 대략 문서와 일치하도록 분할하는 경우

소스가 self._def_passwd, 또는 this.defPasswrd이있는 경우, 문서 트리에 대한 쿼리는 기본 암호 일치하도록 노력해야한다.

지금까지 나는 작은 편집 거리에서 잘 작동하는 Levenshtein distance로 정렬하려고 시도했지만 문턱 값을 높일 때 문서에서 공백이 문제가되는 것은 너무 많은 오 탐지가 있습니다. 첫 번째 값과 일치하는 단어의 길이로 나눈 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) 

. 나는 인 Jaccard에

  1. 보기

    로 생각하고 , 타니 모토가의
  2. 어딘가에는 SO가 있었다 바이오 사람이 일치하는 시퀀스 사용하는 일부 알고리즘에 게시물
  3. 올라와
  4. intellisence이/좀 코드를 제안 알고리즘을 정규 표현식은 http://en.wikipedia.org/wiki/Naming_convention_%28programming%29

마지막 문자 그대로 마지막 규칙을 기반으로합니다. 이 알고리즘을 사용하면 더 좋은 결과를 얻을 수 있다고 생각하는 알고리즘이 있습니까?

답변

0

가중치 편집 거리를 사용해보십시오. 여기에서는 일반적인 약어, 키보드의 거리 별 예상 문자 실수에 대한 정보를 인코딩 할 수 있습니다. 예를 들어 [ao]와 같은 모음에 대해 가중치를 0으로 할 수 있으며 암호는 pswrd와 같습니다. 다른 옵션은 단어 수준 편집 거리를 구축하고 여기에 동의어를 사용하는 것입니다. 나는 또한 단어와 문자를 동시에 사용하는 EditDistance를 만들었다.

관련 문제