codebeat

Advice & answers from the codebeat team

New to codebeat? Want to learn more about our tool or how it can help you developer better code? You're in the right place! Go ahead and browse our documentation; you should find all the answers there.

You can also reach us directly through the live chat icon placed in the bottom right-hand corner.

How to read a codebeat report

A codebeat project report consists of a header and five tabs: Ratings, Timeline, Quick Wins, Pull Requests and Settings.

Project header

Project header is packed with information. The smiley face to the left corresponds to the overall health of the project. It is mapped to one of American school grades - A (best), B, C, D or F (worst). In the upper row you can see the fully qualified name (including server name) of the repo. If your project is private, you will see a lock icon. A star allows you to make add a project to favorites. Projects thus marked appear first on the account's dashboard.

The second row shows a project badge - you can find the code needed to add the badge in the Settings tab. Next there is a GPA section with score ranging from 4.0 (best) to 1.0 (worst) and mapped to the grade scale mentioned above. If a trend can be shown a green arrow pointing up will indicate a positive trend and a red arrow pointing down will indicate a negative one. Hovering over the score section will show you more information about the trend. To the right of the score section is the tracked branch and short commit hash, allowing you to see which branch and revision was last analysed.

Last but not least the green refresh icon can be clicked to manually trigger an analysis. Note that it should not be necessary - we check projects for updates very frequently but if you haven't seen an update for a while this icon is your friend.

Ratings

The first tab is a Ratings tab where all current namespaces are listed, from the worst to the best. You can sort them in several different ways but by default we decided to show you the ones that require most attention. Clicking on any of the links will take you to the detailed report for a given namespace.

Along with each namespace we display some data. To the left you will find a grade based on the same system as described above with regards to the project. To the right you will see language, total complexity (Assignment Branch Condition score to be more precise) of all functions within the namespace, and the count of issues - both code smells and duplications.

Timeline

The Timeline tab lists all commits that happened since the project was tracked with codebeat, and introduced either quality or lifecycle changes. This section provides a good way to quickly see where the project is headed quality-wise.

Within each meaningful commit section the Quality tab shows new issues added and/or old issues being addressed. The Lifecycle tab shows old namespaces being removed or new namespaces being a. The Coverage section will indicate any code coverages changes as reported to the codebeat endpoint.

Quick Wins

Quick Wins is a section showing issues with the biggest overall impact on your project's health.
We suggest that you treat it as a laundry list of things to address, but note that this is a fully automated selection based on how individual issues impact the total GPA so it's totally OK disagree with our prioritization.

Pull Requests

Last but not least, the Pull Requests section will show all pull requests opened against the branch tracked by codebeat. You can learn more about individual pull requests here. This section by default shows only pull requests that have not yet been merged, but you can click on the Show closed pull requests link to also see the ones that have already been merged (or abandoned). Each of the entries will show the pull request title, branch being merged to, GPA of the code in PR's branch and the creation timestamp.

How to read a codebeat report