[주의] 질문을 편집하려고합니다. 이것이 맞으면 받아들이십시오. 원래의 질문은 매우 모호합니다.3 레벨 구조 검색 (양방향)
할일이 있습니다. 사용자는 함수 이름과 선택적으로 클래스 및 파일의 이름을 입력 할 수 있습니다. 체크리스트에 따라이 함수 이름에 대해 몇 가지 검사를 수행해야합니다. 그러나 문제는 파일이 아닌 검사 목록의 검사가 설명된다는 것입니다. 즉, 각 파일에 나타나는 모든 클래스와 함수에 대한 검사를 설명합니다. 그래서, 사용자가 함수 이름을 입력하면, 나는 그것을 올바른 파일에 매핑하고 정확한 수표를 찾아야합니다.
일부 효율적인 방법을 제안 해 주시겠습니까?
는 편집 :은 (내가 할 수있는 한 간단하게, 미안 내 영어 최고의 아니다)
것은 이제 우리가 응용 프로그램 (스크립트가 있다고 가정 해 봅시다)) 우리가 프로파일 할 일 (그래 우리?! 프로파일 러! : D)와 같은 것을 만들지 만 모든 것을 검사하지 않고 단지 몇 가지 기능 만 검사합니다. 그러나 문제가 있습니다. 우리 프로파일 러의 사용자는 약간 이상한 방식으로 프로파일 목록에 함수 목록을 제공하려고합니다.
- 기능의 이름 - 모든 파일 또는 모든 클래스 또는 표준과 같은 이름이 될 수있는 모든 함수 (또는 메소드)를 프로파일 링해야합니다. 라이브러리 (이 경우에는 파일 이름이 없습니다)). - 클래스 이름 -이 클래스의 모든 함수/메소드를 프로파일 링해야하지만 클래스 자체는 거의 모든 파일에있을 수 없습니다 (동일한 이름을 가진 다른 클래스를 가질 수 있습니다) - 파일 이름 - 모든 것을 프로파일 링해야합니다. 이 파일에는 이름이 같은 파일이 거의 없을 수 있습니다 (따라서 모든 함수/메소드를 프로파일 링해야합니다).
위의 모든 조합이므로 클래스 ("Bar"라고 부름)와 함수 ("foo")가 있으면이 함수 "foo"를 "Bar"클래스에서 프로파일 링해야하지만 여전히 클래스는 어떤 파일에도있을 수 있습니다 (몇몇 파일에는 "Bar"클래스가 거의 없을 수 있습니다.) 파일 이름과 함수 이름이있는 경우 파일에 해당 이름이있는 모든 함수 (모든 클래스의 내부 또는 외부에 관계없이)를 프로파일 링해야합니다 이미 (예, 프로파일 자체가 작동) 프로파일에서 실행 기능을 대체했기 때문에,
몇몇 파일이나 몇 가지 클래스가 정말 문제가되지 않습니다. (하지만 여전히이 같은 이름을 가진 몇 개의 파일을 할 수 있습니다)하지만 문제는 함수의 이름을 저장하는 방법 (그리고 클래스와 파일) 그래서 가능한 한 빨리 될 수 있습니다 (메모리는 실제로 빠르지 않아도 상관 없습니다). (즉, 실행 함수는이 함수를 프로파일 링해야한다는 것에 대해 물어 본다. 응답 함수를 제공해야한다.) 함수 이름 (확실히), 클래스 이름 (함수가 클래스의 메소드 인 경우) 및 파일 이름 (함수가 표준 라이브러리가 아닌 경우).
uhhmmm ... 작은 예제가 내 문제를 이해하는 데 도움이 될 것이라고 생각합니다. –
나는 아무 것도 이해하지 못했습니다. –
당신이 무엇을 요구하고 있는지 전혀 모르겠습니다. – acraig5075