[Koha-devel] Coding guidelines

Marcel de Rooy M.de.Rooy at rijksmuseum.nl
Wed Jan 29 17:24:56 CET 2020


Referring to the dev meeting and bug 22407, I propose the following rewording:

PERL15 Using Koha::Object[s]
PERL15(a) Code added to the Koha:: namespace should be object-oriented unless there is a very good reason to do otherwise. In that case the reason should be documented clearly.
PERL15(b) Code in Koha::Object[s] should normally not refer back to C4. Obviously, this cannot be enforced harshly until the refactoring has been completed.
PERL15(c) Use DBIC relations to (pre)fetch a related Koha object rather than searching it explicitly. (See bug 22407)


PERL28 Other object oriented code guidelines (in addition to PERL15)
I think we need to move the Accessor and idiom for -> new rules from PERL15 to another rule. I opened rule 28 for that depending on discussing the following:
Class::Accessor is a great way to provide access to member variables.
=> My suggestion would be to remove this rule. It is true but we do not say that it is the only way to do it. (We are not even using Class::Accessor in Koha objects.)
Or just say PERL28(a) To provide access to member variables, there are several ways including but not limited to using Class::Accessor.

A useful idiom for the ->new() routine in object-oriented classes that do not need to process the arguments passed in as a hashref but merely need to save them for future processing
=> This suggestion is fine. It says use a parameter hash for sub new. We normally do that. Reworded:
PERL 28(b) Use a hashref as second parameter in sub new when passing arguments.

Any feedback?

Marcel

 

​Museumstraat 1
Postbus 74888
1070 DN Amsterdam
Rijksmuseum.nl
​
​Nu te zien:
Operatie Nachtwacht​
​
​Verwacht: 
​Caravaggio-Bernini. Barok in Rome
​Dankzij Waller 2010-2020 
​
​T/m 18 jaar gratis
  
 Please think before you print
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.koha-community.org/pipermail/koha-devel/attachments/20200129/902b414e/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image826795.png
Type: image/png
Size: 2974 bytes
Desc: image826795.png
URL: <http://lists.koha-community.org/pipermail/koha-devel/attachments/20200129/902b414e/attachment.png>


More information about the Koha-devel mailing list