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..
Tél. : (888) 604-2627
philippe.blouin@inLibro.com
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@inlibro.com]
Sent: Wednesday, 30 September 2015 12:52 AM
To: Tomas Cohen Arazi <tomascohen@gmail.com>
Cc: David Cook <dcook@prosentient.com.au>; koha-devel@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 informatiqueTél. : (888) 604-2627
philippe.blouin@inLibro.cominLibro | pour esprit libre | 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@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)
✆ +54 9351 3513384
GPG: B76C 6E7C 2D80 551A C765 E225 0A27 2EA1 B2F3 C15F