Introduction to Codedog
What Codedog want
Code review is commonly executed in software development process to ensure the functional correctness and code quality of the incoming code changes. However, many teams are facing challenges doing code review:
- Time pressure: Task schedule and deadline is explicit and real-time, while the harm of code quality is hidden and long-term. Therefore, under higher delivery pressure, team tends reduce the investment in code review.
- Experienced reviewer Code review is a skill that needs to be learned and practiced in tech stack and the business logic. Such engineers's time is expensive and scarce.
With the success of Github Copilot, we believe that LLM can also help us in the code review process.
What Codedog propose ?
Specifically, Codedog is currently exploring ability in two directions:
- AI-assisted code review: Codedog aims to make Human Code Reviewing more efficient by providing valuable information to help reviewers understand the pull request better and faster.
- AI-driven code review: There are some typical problems happend here and there. Codedog can figure out your daily problems and let the developer fixed it based on ai feedback before we have reviewer involved in the process.
How Codedog implement code review ?
Basicly Codedog is trying to do is implementing the methodology describe in Google's Code Review Developer Guide. It instructs several steps to scan, understand and analyze the code diff data.
In Codedog, we implemented PRSummaryChain and CodeReviewChain based on the Langchain Framework.
PRSummaryChainsummarize and categorie the pull request and each code file.CodeReviewChaindoing basic inline review for diff hunks from diff patchs.