logoalt Hacker News

ramon156today at 10:24 AM11 repliesview on HN

> The 20 most-changed files in the last year. The file at the top is almost always the one people warn me about. “Oh yeah, that file. Everyone’s afraid to touch it.”

The most changed file is the one people are afraid of touching?


Replies

rbonvalltoday at 10:52 AM

Just like that place that's so crowded nobody goes there anymore.

show 1 reply
deweytoday at 10:28 AM

I've just tried this, and the most touched files are also the most irrelevant or boring files (auto generated, entry-point of the service etc.) in my tests.

show 3 replies
zikani_03today at 5:46 PM

pom.xml and package.json came up on couple of separate projects I ran the commands on. Which makes sense because the versions get bumped rather frequently. I guess context matters, as usual.

jbjbjbjbtoday at 11:36 AM

This command needs a warning. Using this command and drawing too many conclusions from it, especially if you’re new, will make you look stupid in front of your team mates.

I ran this on the repo I have open and after I filtered out the non code files it really can only tell me which features we worked on in the last year. It says more about how we decided to split up the features into increments than anything to do with bugs and “churn”.

show 4 replies
berkestoday at 4:23 PM

Plotting Churn against Complexity is far more useful than merely churn.

It shows places that are problematic much better. High churn, low complexity: fine. Its recognized and optimizef that this is worked on a lot (e.g. some mapping file, a dsl, business rules etc). Low churn high complexity: fine too. Its a mess, but no-one has to be there. But both? Thats probably where most bugs originate, where PRs block, where test coverage is poor and where everyone knows time is needed to refactor.

In fact, quite often I found that a teams' call "to rewrite the app from scratch" was really about those few high-churn-high-complexity modules, files or classes.

Complexity is a deep topic, but even simple checks like how nested smt is, or how many statements can do.

mchavertoday at 10:52 AM

Definitely not in my experience. The most changed are the change logs, files with version numbers and readmes. I don't think anyone is afraid of keeping those up to date.

furyofantarestoday at 2:04 PM

The LLM that wrote the copy is an idiot.

show 1 reply
mememememememotoday at 10:27 AM

Yes. Because the fear is butressed with necessity. You have to edit the file, and so does everyone else and that is a recipe for a lot of mess. I can think back over years of files like this. Usually kilolines of impossible to reason about doeverything.

jollyllamatoday at 1:00 PM

Yeah, the truth is going to be a lot more subtle than this.

szszrktoday at 10:47 AM

Could be also that a frequently edited file had most opportunity to be broken. And it was edited by the most random crowd.

KptMarchewatoday at 12:11 PM

In my case, it's .github/CODEOWNERS.

Nobody is afraid of changing it.

show 1 reply