DEV Community

es404020
es404020

Posted on

Sourcegraph Universal code search

Challenges enterprise developer face today

1.Hundres of microservices and third party dependencies:
Microservices encourages multiple programming language and dependency in a system, performing different operation at different scale .This make it quite difficult for developer to understand the relationship between them.

2.Thousands of independent codebase :
Due to this microservices, to many codebase are lying all over the place and make it difficult for a new developer to easily understand the overall code structure.

3.Multiple language application developed by distributed system:
This is also another bottle neck faced by engineering teams, because you have different developer from different time zone working on different part of an application. Been able to understand the workings of the code without having to reach out to team members is a big issue.

Some existing tools and their defect

1.Usings IDEs:
IDE where not built to hold all the code that a company owns. Codes are only pulled from repo when required for update or upgrade. So there are limit to operations that can performed .

2.Closed Source
Must companies like Facebook or Google who has developed universal code search are yet to make them available for the public domain.

Understanding sourcegraph Universal code search

Universal code search means we can search over every code host and resource. Giving support to all the major code host ( github,
gitlab , bitbucket), all repositories ,all their branches and also respect repository permission has well.

With permission we can do this in two ways

1.Users can authenticate via code host which is then able to meet communicate and sync repo back to sourcegraph.

2.Users can also model permission in sourcegraph has well if you need more well defined or fine grain permissions.

How do sourcegraph search works

1.It support search for all popular languages not framework.

2.It support literals ,text and punctuation search.

3.it support regular expression search.

4.it also support structural search ie search for things that is language syntax aware.

5.it is not only limited to code it can search for symbols, search history difference meaning been able to find things in code where it change over time is a really powerful feature.

6.Ability to search through commit messages.

7.custom search scope and repo groups.

8.Custom search provider.

Things to note about sourcegraph it is not only a web UI, developer can interact with it using
1.CLI
2.GraphQl API

finally deployment , sourcegraph is self hosted and can be deployed to any environment eg Google cloud ,AWS, Azure etc.

In the coming blog , I am going to show you in practical how sourcegraph works.

Top comments (0)