Hacker News new | ask | show | jobs
by briga 2158 days ago
Delete your unused code, people
3 comments

My understanding is that Luigi is not in the final build of the game (which is why it was not found before). But I believe the recent leak contains the CVS repo used during development, which includes the complete change history.
# Nah, commenting out is better in case decisions are reversed.

# Once it's deleted, there's no way to get it back.

# Version control isn't reliable.

> Nah, commenting out is better in case decisions are reversed.

But worse in all other cases. If your decision process is such that that weighs in favor of cluttering your codebase with dead code, that's a problem.

And, actually, since the commented code almost certainly isn't being maintained and uncommented for testing as the rest of the codebase evolved, it's probably not even better in the case that decisions are reversed.

> Once it's deleted, there's no way to get it back

There's rewriting it in light of the actual requirements and current state of the rest of the code base.

> Version control isn't reliable.

Neither is unmaintained, commented-out code dragged along with your code base. If your VCS isn't the vastly more reliable of those two things, that's a problem you ought to address.

(Of course, at the time of Mario 64, the calculus might well have favored a different approach.)

Man, you took that comment seriously. Doh!
# JIRA: L-2401

# Dev-only code.

# Fixme: delete before release.

Most software isn't released anymore. Most times pipelines will gobble up your changes and ship immediately after review. I don't see how this would work for your team.
For what reason?
As long as delete means "commit the deletion of unused files to source control", I agree. Though I don't know what kind of source control they had back then, and if they used it for such assets. In my opinion if something is not serving any current purpose in your code base it should be deleted from source control. The repo should be a reflection of the precise range of capabilities that you intend for the project to have; leaving dead vestiges of the past just laying around is like growing a garden and never cleaning it of deadwood and debris, giving more places for weeds to grow unnoticed.

I think we need better tooling for browsing historical artifacts that may be valuable in the future -- which I think is the main reason I've seen people intentionally keep dead code. Maybe the solution to that is to just tag the commit in which you deleted the code with a note on what it was so you can find it again.

Edit: An uncle comment mentions that this may have been a discovery from digging around in the CVS history for the game, so they may have kept the assets in source control after all! Some might reasonably take away from this to protect your source repo, but I think it's pretty cool it's possible to find these historical artifacts.

Lol it’s funny at a big company with a lot of repositories to search for “removed passwords” in all the repos git history... very interesting stuff to be found...
Smaller file sizes, less bloat
This model presumably didn't make it onto the cartridge, which is where the size would matter (and even then, the size would really only matter if it pushed them to use a larger rom at added expense). Extra files in the source directory that might not even be used by the build process barely matter.
How in the world would I find a flight simulator in my word processor?
I don't know, but you might find one in Excel [1].

[1] https://kb.iu.edu/d/agqw