A corollary to my previous dictum that a method may make a decisions OR do something is that you want to cut a larger into smaller pieces. And each piece generally looks like the following:
sub doing_something { my( $self ) = @_; $self->prepare_something; if( $self->is_it_time_to_do_something ) { $self->before_something; $self->something; $self->after_something; } $self->unprepare_something; }
In the above, something
is just the name of the particular small piece of the larger task. The prepare_something/unprepare_something
calls are there to avoid all possible side-effects in is_it_time_to_do_something
. I would use before_something/after_something
are there for things logging, timing, transactions and other "admin" actions that aren't related to something
.
I feel like I've been infected by all the Java I did last spring.
No comments:
Post a Comment