[Koha-devel] Add rule for no subroutines in PL scripts

David Cook dcook at prosentient.com.au
Thu Oct 1 02:08:26 CEST 2015


Sorry, Chris, but I'm not sure I understand what you're saying here.

I suppose I don't really think about it in terms of libraries but rather in terms of classes. In theory, a script should be able to be broken down into concepts which fit into classes. 

I think sometimes we end up using subroutines in scripts because we haven't scrutinized the actual "function" enough. For instance, take a look at tools/letter.pl. 

Another scary one is opac/oai.pl, although that's actually created packages in the pl script which I think is actually worse in a way. 

Maybe it's not feasible to always have subroutines defined in Perl Modules. However, I rather there be a blanket ban on them, and allow exceptions to that rule on the discretion of the QA team and the RM. 

As Tomas has said, I think there's been an existing practice for some at least a few releases now to fail patches which have complex subroutines in Perl Files. This would simply be codifying an existing informal rule.

David Cook
Systems Librarian
Prosentient Systems
72/330 Wattle St, Ultimo, NSW 2007

> -----Original Message-----
> From: Christopher Nighswonger [mailto:chris.nighswonger at gmail.com]
> Sent: Thursday, 1 October 2015 12:58 AM
> To: Philippe Blouin <philippe.blouin at inlibro.com>
> Cc: David Cook <dcook at prosentient.com.au>; Tomas Cohen Arazi
> <tomascohen at gmail.com>; Koha Devel <koha-devel at lists.koha-
> community.org>
> Subject: Re: [Koha-devel] Add rule for no subroutines in PL scripts
> 
> On Wed, Sep 30, 2015 at 8:20 AM, Philippe Blouin
> <philippe.blouin at inlibro.com> wrote:
> > Because the code would be extremely specific to a specific
> > functionality, whereas the code in the libraries is there to be reused.
> > And let not go overboard with OO.
> >
> > A script is a script is a script.  Make it readable, add functions to
> > make it cleaner, make your functions readable.
> >
> > And make some rule for forbidding direct DB accesses, so that future
> > DB changes do not require to change many scripts.
> > But please, do not forbid functions in scripts.
> 
> I tend to agree with Philipee here. It is a bit of an overkill to blanket require a
> single-script function to be moved over to a library. Perhaps a better
> approach would be to add some rules which set for the case where functions
> in scripts should be moved into the appropriate library versus when the
> definition of functions is acceptable in the script itself.
> 
> Kind regards,
> Chris




More information about the Koha-devel mailing list