Book: Software Engineering at Google
Chapter: 23. Code Search
Summary:
Code Search is a tool for browsing and searching code at Google that consists of a frontend UI and various backend elements.
The motivation behind Code Search is that it arose directly out of a need to scale to the size of the codebase where Google's codebase could definitely not fit into an IDE (imagine searching the entire codebase on an IDE/code editor e.g., VSCode open as folder where the folder contains all the different repositories in Google).
Code Search began as a combination of a grep-type tool for internal code with the ranking and UI of external Code Search.
Code Search was a well thought out product -- it has the essential basic features of how you would like to search a codebase, APIs for projects to leverage on.
The team designed and built Code Search starting out from e.g., A simple form of querying and indexing, and eventually progressed further as they realised different non-functional requirements have to be met to accommodate the insane growth of Google's codebase. Hence, they considered different algorithms to scale and ensure completeness and correctness.
This chapter also spoke about the different trade-offs (non-exhaustive list; selected a few) and which did the team selected to focus on over the others.
This tool has tremenedously helped developers at Google understand their code better, and to boost the overall engineering productivity.
Code Search in its early days was actually open sourced too.
Relevance to TEAMMATES:
TEAMMATES is a huge project. However, it fits in an IDE/code editor and it lives in 1 repository. A tool like what Google built wouldn't exactly warrant the size as of now.
Wrap:
Apparently, this tool is no longer supported or maintained (if I am not mistaken). There's other tools that help you search across all the open source codebase you can find. This is a Stackoverflow post on it.
Book: Software Engineering at Google Chapter: 23. Code Search
Summary:
Relevance to TEAMMATES:
Wrap: