Hacker News new | ask | show | jobs
by foobar2k 4813 days ago
The number of pull requests I get where the diffs are completely unreadable because someone has this feature enabled is insane. On certain whitespace dependent languages (I'm looking at you Python) simply supressing the whitespace in the diff is not an option.

What are the arguments for having whitespace removal as a coding standard?

4 comments

It's dead easy to accidentally add (or remove) trailing whitespace, which you find out at git diff time. Unless you want to have whitespace changes in your commit, you have to manually revert those edits back.

Having the editor just trim those automatically is just delegating the trailing whitespace care to a piece of software with a simple rule: no whitespace allowed.

If the entire team working on a project agrees to this rule, everything's peachy, and it's really easy to convert an existing repo to it - whenever you touch a file, if there are whitespace changes, commit them to a separate commit.

At the end of the day, it's just standard, so doing invasive changes to a project that doesn't follow that standard (as in the pull reqs you descibed) is wrong, but that doesn't mean the rule itself is bad.

As for ST2, it allows easy per-project settings so you can easily enable it globally and disable on a specific project if needed (or vice versa).

    git diff --ignore-space-at-eol
Trimming at the end of line has no effect on python.
But other whitespace does, so globally disabling whitespace in a diff isn't very helpful.
You will never have silly diffs because someone accidentally changed some trailing whitespace (because there isn't any).