Do you like spaghetti? No, I like to keep things decoupled.
When you are dealing with spaghetti code, trying to modify or extract a single object is frustratingly hard.
Low Coupling, High Cohesion is a programming principle that says that your classes should be coupled with other classes as little as possible but the cohesion inside your classes should be as high as possible.
The state of a class is composed from all the properties of that class that are changeable or mutable.
Comments are bad.
Arguments also couple your method to the outside.
The more parameters your method has, the more coupled it is.
Parameters are input, not output
People fighting durign code review. Original Programmer vs His team, Parameters and refactoring.
Good variable name, wow, such intent, much information, very expressing.
How code review feels.