in reply to When Is Dividing Code Into Different Subroutines/Packages Important?
Is there merit in sub-dividing code into packages/subroutines even if it is not syntactically needed?
Surprisingly little is syntactically necessary. If you want to be pedantic, you really only need to fetch and store bits in memory and do a couple of comparisons.
The nice things about subroutines and packages is that they give you, the programmer, short names for things. You could write:
sub main { # read arguments ... # process arguments ... # open a file ... # process the file ... # open output file ... # write output file ... # clean up temporary files ... # exit }
That's a perfectly valid program. It might be the best program to write for your circumstance. It's nice that the comments are there. Look what happens when you use subroutines though:
sub main { my %args = read_arguments(); process_args( \%args ); my $file = open_file( \%args ); my $data = process_file( $file, \%args ); write_output( $data, \%args ); cleanup( $file, \%args ); }
The compiler doesn't care about the names. The computer really doesn't care about the names. They make quite a difference to me though.
I know which program I'd rather maintain.
|
|---|