News for hackers. Stuff that matters.
Re:Black, the uncompromising Python code formatter, is stable by j1elo on Saturday January 29, 2022 @04:29PM (#30130685)
Funny that this is a common reaction against opinionated tools: "I wish there was a configurable option to apply my opinions"

But the whole idea is that you should learn to suppress your ego and let the tool be the one dictating stylistic choices...

Like the sibling comment mentions:

Dusty Phillips, writer:

"Black is opinionated so you don’t have to be."

Re:Black, the uncompromising Python code formatter, is stable by _tom_ on Saturday January 29, 2022 @05:07PM (#30131050)
That made me wonder, so I went and tested edge cases, like "abc\"d\"ef", which black quite properly converts to 'abc"d"ef'. So it does use single quotes where appropriate.
Re:Black, the uncompromising Python code formatter, is stable by hivacruz on Saturday January 29, 2022 @04:34PM (#30130752)
I understand that. And this is what I like in Black. But the single quotes thing is really up to debate. When you use it with other tools such as flake8 or pylint, you have to disable a bunch of things to make them work together because no one agrees on this point.
Re:Black, the uncompromising Python code formatter, is stable by j1elo on Saturday January 29, 2022 @04:45PM (#30130857)
I'm not a full time Python dev so I won't (can't) get into what choice has more merits. But there is this:

https://black.readthedocs.io/en/latest/the_black_code_style/...

Seen from outside, I think the double quotes are just the natural form of strings in lots of other places, at least in those that come from the same family than C (C++, Java, C#, Rust, just to name a few)

Also Prettier.js (which I'd call the "Black of JavaScript") also settled on double quotes. So we're left with a de facto consensus across programming languages as a whole, which kind of feels nice.

Re:Black, the uncompromising Python code formatter, is stable by historyforsale on Saturday January 29, 2022 @05:56PM (#30131464)
> When you use it with other tools such as flake8 or pylint, you have to disable a bunch of things to make them work together

Using Flake8 with Black requires only two configuration options [1], while Pylint requires three [2]. If you prefer to use Black with --line-length 79, then it's down to a single configuration option for Flake8 or two for Pylint.

[1]: https://black.readthedocs.io/en/latest/guides/using_black_wi...

[2]: https://black.readthedocs.io/en/latest/guides/using_black_wi...

Re:Black, the uncompromising Python code formatter, is stable by maple3142 on Saturday January 29, 2022 @09:03PM (#30133063)
You can have some basic configurable stuffs in an opinionated tool though, see Prettier. It allows tab/space, quote style, line length etc., to be modified.
Re:Black, the uncompromising Python code formatter, is stable by j1elo on Sunday January 30, 2022 @02:34PM (#30140309)
Prettier has some options, but they are not happy about it, it's just how things happened and now cannot be "solved", i.e. remove them, albeit they would love being able to do that:

https://prettier.io/docs/en/option-philosophy.html

Re:Black, the uncompromising Python code formatter, is stable by ForHackernews on Saturday January 29, 2022 @04:34PM (#30130751)
"My opinion is the correct one"

- Author of some tool

Re:Black, the uncompromising Python code formatter, is stable by throwaway894345 on Saturday January 29, 2022 @05:06PM (#30131032)
“No opinion is correct, so we should stop wasting time debating it.”

- advocates of code formatters

Re:Black, the uncompromising Python code formatter, is stable by ForHackernews on Tuesday February 01, 2022 @05:06PM (#30170143)
"let's everyone stop debating it the exact moment after you adopt my preferences"