3 ms·
Just use a style formatter and the debate is done. Everyone is unhappy now. Or very happy due to not arguing.
by threatofrain 3y ago
Just use a style formatter and the debate is done. Everyone is unhappy now. Or very happy due to not arguing.
- mgaunard 3y agoIn my career the only people I saw arguing for auto style formatters are people that were simply unable to systematically follow simple rules, and that you're better off without.
- threatofrain 3y agoI'm afraid anyone who uses Tailwind is almost certainly using a style formatter to auto-arrange the CSS.
- vundercind 3y agoWhy in god’s name would programmers of all people resist letting computers handle “systematically [applying] simple rules” for us automatically?
- mgaunard 3y agoprogramming is about keeping control of the way the infrastructure operates
- vundercind 3y agoAre you also against makefiles, on the same grounds? “If they can’t be bothered to run each build step by hand, you probably don’t want them around anyway” That’s much closer to being “the way infrastructure operates” than formatting is. I suppose 100% of IAC is right out, then.
- mgaunard 3y agoSource code is something that you author; binary artifacts aren't.
- erik_seaberg 3y agoNaming and layout are part of how experts communicate intent with each other. Auto formatters are literally blind so they mostly make poorly motivated naming and layout decisions.
- vundercind 3y agoI would love some examples of this. I’ve yet to see a case in 20+ years of programming that was even close to being more-valuable than not having to think about formatting, but maybe it’s because none of the ten or so languages in which I’ve been paid to write code have been the sort where that’s a big deal. [edit] naming, yes. That’s important. Static types are enormously important—machine-checkable documentation is the best sort. Comments are excellent if names and types aren’t enough. Separate documentation if all of those fail. Where my braces go or tabs-v-spaces or what have you? Not so much, but again, maybe it’s because we write different languages.
- erik_seaberg 3y agoSpark offers a fluent DSL with infix operators for data transforms, but after a company-imposed auto formatter got done mangling it I was only allowed to check in a wall of method chaining that none of my teammates would write. things .where($"key" === lit(key)) .select("value") .as[String] .repartition(N1, $"value") .flatMap(new ThingIterator(_)) .repartition(N2) .write .parquet( s"s3a://bucket/things/key=$key") As for naming, I see stuff like “every method must take one arg whose name ends with Request” even when envelope or notification would make more sense.