Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Show "hotspots" in report #135

Open
eddie-dunn opened this issue Dec 1, 2016 · 6 comments
Open

Show "hotspots" in report #135

eddie-dunn opened this issue Dec 1, 2016 · 6 comments

Comments

@eddie-dunn
Copy link

Identifying source files that are often changed, and by many different people, is a great indicator of where the next bug might crop up.

Can you add such hotspot information to the report?

@adam-waldenberg
Copy link
Member

Hi @eddie-dunn.

I'll keep it open and think about it. While it does not really help in evaluating an author, it might be useful.

@uli-weltersbach
Copy link

uli-weltersbach commented Jan 30, 2017

Detecting hotspots as @eddie-dunn suggests is really helpful from an enterprise perspective.

A "normal" development flow is usually characterized by several sizable commits, followed by a period of inactivity - the code has been written and does what it's supposed to do. This cycle repeats when e.g. new business requirements demand changes to the code.
A bunch of small commits "sprinkled" over a long period is usually buggy code, hotfixed again and again.

Detecting such hotspots "manually" during code reviews is difficult unless you're in the habit of looking at a lot of history, because small changes seen individiually rarely stand out (to me at least).

I don't know Python (JS and C# are my forte), but I would be glad to help if possible.

@eddie-dunn
Copy link
Author

I know this tool was initially developed to evaluate students' performance. I forgot to mention that in the issue description, since I tried to keep it succinct and to the point, but as @uli-weltersbach mentioned above, your tool can be immensely helpful in enterprise contexts as well. gitinspector is one of the better code analysis tools I've found, but it can be improved.

In other words, for our use case the code we develop, and the quality of it, is the primary measurement statistic. Stats for how individual team members perform is not that important.

Hotspots are a good indicator that the architecture of the codebase needs an overhaul, and will help with targeted refactoring.

I understand that asking for hotspot detection so that we can use your tool in an enterprise context might indicate scope creep, but if you are open to the idea I would gladly help.

Are you open to the idea? Python is my language of choice, but I have limited spare time on my hands, so I don't want to waste it on something you don't want or need.

@adam-waldenberg
Copy link
Member

@uli-weltersbach Yes it might be helpful.

@eddie-dunn As stated before, yes I might be open to the idea. It's fits under the same scope as the already included metrics that can be found in gitinspector which also is for finding files that may contain problems.

Exactly how it would work and what should be included is another question.

@ghost
Copy link

ghost commented Oct 26, 2018

👍 on this, I just started reading Your Code As Crime Scene which covers these hotspots in code, the amount of "churn" there is in terms of number of commits for a file plus the number of lines of code in the file can indicate a hotspot.

Very very useful, right now my option is just to use git log and tokei to find the most changed files in git. It would be nice to have a top 10 list.

@adam-waldenberg adam-waldenberg added this to the 0.5.1 milestone Oct 19, 2020
@adam-waldenberg
Copy link
Member

Adding this to the 0.5.1 milestone.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants