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

Marcel de Rooy M.de.Rooy at rijksmuseum.nl
Wed Sep 30 16:30:09 CEST 2015


I could understand that Philippe would write a sub in a script.

If we forbid that, we could [theoretically] get here:  Better write hard code in one big chunk and call it a script (without unit tests) than provide good code with some subs that have no real meaning outside the script and therefore do not need a module..

We should handle this more pragmatically imo..



________________________________
Van: koha-devel-bounces at lists.koha-community.org [koha-devel-bounces at lists.koha-community.org] namens Philippe Blouin [philippe.blouin at inlibro.com]
Verzonden: woensdag 30 september 2015 14:20
Aan: David Cook; 'Tomas Cohen Arazi'
CC: koha-devel at lists.koha-community.org
Onderwerp: Re: [Koha-devel] Add rule for no subroutines in PL scripts

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.

As for tests, writing them for very complicated, very very specific function only applicable to a script could have value, but it certainly does not balance the extra complexity your bringing to the code.

Philippe Blouin,
Responsable du développement informatique

Tél.  : (888) 604-2627
philippe.blouin at inLibro.com<mailto:philippe.blouin at inLibro.com>

inLibro | pour esprit libre | www.inLibro.com<http://www.inLibro.com>
On 09/29/2015 07:35 PM, David Cook wrote:
Philippe, could you explain how it’s more messy to have code in modules?

Generally speaking, I can’t think of a reason why there would be code that is extremely specific to some script. I think the preference these days is to use object oriented code, which does isolate mess, so the code should be in the class.

As Tomas points out, it also makes it more difficult to write unit tests for functions, if it’s isolated in a script with no other way of calling that code.

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

From: Philippe Blouin [mailto:philippe.blouin at inlibro.com]
Sent: Wednesday, 30 September 2015 12:52 AM
To: Tomas Cohen Arazi <tomascohen at gmail.com><mailto:tomascohen at gmail.com>
Cc: David Cook <dcook at prosentient.com.au><mailto:dcook at prosentient.com.au>; koha-devel at lists.koha-community.org<mailto:koha-devel at lists.koha-community.org>
Subject: Re: [Koha-devel] Add rule for no subroutines in PL scripts

The alternative would be to add some code extremely specific to some script (like parsing some line of data) into a Koha/ library?  Seems more messy.

I like to isolate my mess.
Philippe Blouin,
Responsable du développement informatique

Tél.  : (888) 604-2627
philippe.blouin at inLibro.com<mailto:philippe.blouin at inLibro.com>
inLibro | pour esprit libre | www.inLibro.com<http://www.inLibro.com>
On 09/29/2015 09:24 AM, Tomas Cohen Arazi wrote:


2015-09-29 9:23 GMT-03:00 Philippe Blouin <philippe.blouin at inlibro.com<mailto:philippe.blouin at inlibro.com>>:
Hi!
Morning here, maybe my brain is not ignited yet.  But why such a rule? (if i understand its meaning correctly).

Because that way there's no way to properly write unit tests for the function. And code gets messy too.
I'll call for a dev meeting and add this to the agenda.


--
Tomás Cohen Arazi
Theke Solutions (http://theke.io<http://theke.io/>)
✆ +54 9351 3513384
GPG: B76C 6E7C 2D80 551A C765  E225 0A27 2EA1 B2F3 C15F


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.koha-community.org/pipermail/koha-devel/attachments/20150930/28e9cd12/attachment-0001.html>


More information about the Koha-devel mailing list