Refactoring & Design
Good practices reveal the design.[¹]
Refactoring[²] a class so that all its methods have a single responsibility has a clarifying effect on the class.
Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior.[²]
Even if you do not intend to reorganize the methods into other classes today, having each serve a single purpose makes the class’s responsibilities obvious.
Methods, like classes, should have a single responsibility. The exact reasons apply; having one responsibility makes them easy to change and reuse.
It is possible to rearrange behavior without much method extraction and refactoring. Small methods lower the barriers to improving your design.
Ask questions about what methods do and try to describe the method’s responsibilities in a single sentence.
The path to changeable and maintainable object-oriented software begins with classes with a single responsibility.[¹]
Refactor even when you do not know the ultimate design. Refactor not because the design is clear, but because it isn’t.
[¹]: Sandi Metz(2013): Practical Object-Oriented Design in Ruby (https://www.amazon.com/Practical-Object-Oriented-Design-Agile-Primer/dp/0134456475)
[²]: Refactoring (https://www.refactoring.com/)