in reply to Re: Structural Elegance
in thread Structural Elegance
I don't use OO Perl much at all, but OO's data access principles are definitely a part of my design philosophy. I spent far too many years writing assembler code to fear designing access strategies.
That said, I'm not above getting lazy. It's rarely a call chain pass that I use, but more usually the 'globalization' of a data item that is plucked by one sub after another without controls on what happens in the middle. In OO, the data item is intenal to an object, and the object is supposed to protect itself. It's all too easy to neglect the sanity checks as you add code.
In this particular case, I was modifying a working string in several steps, and added a modification in the middle that broke that chain such that the data was not moving from a known state to another known and stable state. My subprocedures were too finely grained, in other words, and I inserted another grain in the middle that broke it.