5 ms·
This is a case where I'm completely decided. Everybody should use an autoformatter. The minimal benefit you get from custom formatting is completely outweighed
by _hardwaregeek 7y ago
This is a case where I'm completely decided. Everybody should use an autoformatter. The minimal benefit you get from custom formatting is completely outweighed by the uniformity, the consistency and readability of autoformatted code.
- rurban 7y agoI also switched to mandatory clang-format for a big C project of mine last month. Just the PR hooks and linter integration into github not yet. Saves away a full round of nit picking.
- abtinf 7y agoI think a nontrivial portion of Go’s success can be attributed to having a standard format and treating deviation as compiler errors. It is immensely valuable to be able to look at any Go code, whether in the toolchain, the standard library, or a random stackoverflow snippet, and not have to think about formatting at all.
- masklinn 7y ago> treating deviation as compiler errors. That's not the case at all. The Go compiler treats an arbitrary few lint issues as compiler errors (e.g. unused imports), code which is not gofmt-formatted isn't a compiler error.
- fwip 7y agoI think you're conflating two concepts a little bit - deviation from `gofmt` isn't a compiler error, but lots of things (like unused variables or imports) are. I think they're both great.
- abtinf 7y agoYou are corrrect. I guess I’ve learned to treat deviation from gofmt as error because of the go vim plugin. It runs goimports on save, which fixes a bunch of real errors (like unused imports).
- lucaspottersky 7y agothats actually a very annoying feature that has thrown me off when i tried. you can't even comment out your code while debugging. annoying as hell.
- askvictor 7y agoHow do you recommend fitting an autoformatter into a programming workflow? I'm using pycharm
- jalanb 7y agopycharm is a workflow now?
- misterdoubt 7y agoFormat on save. Failing that, format as part of your normal tox run. Failing that, pre-commit hook.
- IanCal 7y agoYou can also add it to your CI, for black that seems to be `black --check`
- Ace17 7y agoAll my projects have a top-level 'check' script, which always does, in order: - reformat the whole codebase - build (if needed, e.g a C++ project) - run all tests The programming workflow is then: - edit code - run the 'check' script - repeat.