I don’t disagree that this is hard to read, but I feel it’s worth mentioning python has a pretty acceptable style guide. The problem is, it’s far less common in python to bundle parameters into some holding object. So here you have massive function that has to accept a lot all at once. In use it’s probably not as bad looking however.
And at least, it actually explains all the damn parameters. It’s a lot nicer than seeing functions parameters you don’t understand, and all you have is the name. This is not limited to python either
There are plenty of other languages that have named parameters but no holding object. You format it like this:
some_func(
foo: 1,
bar: 2,
baz: 3,
)
And this works fine. Of course, not everyone does that, but I almost never see it done in Python.
This style comes into conflict with rules that functions shouldn’t be longer than 20 lines for whatever. The solution to that is to be relaxed about the line count rule. I’d rather see 40 trivial lines than 20 with everything crammed up.
Completely agree with that, we have the same issue in C# where I work. Just waiting for the day I get to push and update to our shared code style (editorconfig) to force that.
I don’t disagree that this is hard to read, but I feel it’s worth mentioning python has a pretty acceptable style guide. The problem is, it’s far less common in python to bundle parameters into some holding object. So here you have massive function that has to accept a lot all at once. In use it’s probably not as bad looking however.
And at least, it actually explains all the damn parameters. It’s a lot nicer than seeing functions parameters you don’t understand, and all you have is the name. This is not limited to python either
There are plenty of other languages that have named parameters but no holding object. You format it like this:
some_func( foo: 1, bar: 2, baz: 3, )
And this works fine. Of course, not everyone does that, but I almost never see it done in Python.
This style comes into conflict with rules that functions shouldn’t be longer than 20 lines for whatever. The solution to that is to be relaxed about the line count rule. I’d rather see 40 trivial lines than 20 with everything crammed up.
Completely agree with that, we have the same issue in C# where I work. Just waiting for the day I get to push and update to our shared code style (editorconfig) to force that.