News for hackers. Stuff that matters.
Re:Learning Ruby: Things I Like, Things I Miss from Python by ysavir on Tuesday February 16, 2021 @02:25PM (#26157709)
That's a horrible usecase for single use private methods, agreed. But I think they're an excellent way to breakdown a complex chunk of code into smaller components, using the method names to describe what they're doing. That requires good naming, though; without good names, the effort is moot.
Re:Learning Ruby: Things I Like, Things I Miss from Python by ljm on Tuesday February 16, 2021 @05:25PM (#26159542)
I think they serve a good purpose once you realise you've stepped out of OOP. You have the idea of a command, or a service, and it does a bunch of procedural things as part of its execution. It only has one public method, so the private methods are a way to describe the steps of the command.

But that's an architectural decision, it's not code style. If rubocop tells you how to write a function then you're going to see nonsense like the example in our parent comment.

Re:Learning Ruby: Things I Like, Things I Miss from Python by ysavir on Tuesday February 16, 2021 @05:49PM (#26159784)
> I think they serve a good purpose once you realise you've stepped out of OOP. You have the idea of a command, or a service, and it does a bunch of procedural things as part of its execution. It only has one public method, so the private methods are a way to describe the steps of the command.

It doesn't have to be a step out of OOP, and their usage is not limited to "Single Public Method Objects". Single use methods are just a convenient and clean way to make complicated code easy to digest, OOP or not.