Part IV 도구
CHAPTER 17 Code Search
구글이 이용하는 코드 브라우징 및 검색 도구
Code Search UI
핵심요소는 검색창
파일 하나를 들여다 볼때 대부분은 토큰을 바로 클릭하여 관련 정보로 빠르게 이동 할수 있다
- 이슈 트래커
- 코드 참조 클래스
구글 개발자가 Code Search를 이용하는 방법
코드에 대한 답을 찾고 코드의 의도를 분명하게 이해하는것
- 어디에?
- 무엇을
- 어떻게
- 왜?
- 누가 언제?
독립된 웹 도구로 만든 이유
- 대규모 코드베이스 지원
- 설정 없이 모든 코드 보기
- 기능 특화
- 다른 도구에 통합
- API 제공
규모가 설계에 미치는 영향
- 검색 쿼리 지연시간
- 인덱싱 지연시간
구글은 어떻게 구현했나?
- 검색 인덱스
- 초기엔 트라이그램 기반의 방식
- 커스텀한 접미사 배열
- 랭킹
- 완벽성
- 헤드 리포지터리
- 전부 vs 가장 관련성 높은 결과만
- 헤드 vs 브랜치 vs 모든 변경 이력 vs 작업 공간
- 표현력
- 토큰 vs 부분 문자열 vs 정규 표현식