I've been looking at our coding patterns, and noticed we haven't
discussed/agreed on some stuff. Which is a good oportunity to just do it,
now the Koha:: namespace is being filled with cool old-code rewrites with
lots of test coverage.

- Transactions on heavy business functions that should definitely be
wrapped inside a transaction.

Running
  $ cd Koha ; git grep txn
is just sad.

- Little use of Exceptions in Koha. We introduced them, but still don't
extend its use. Maybe related to the next item.

I think we should keep general exceptions (like
Koha::Exceptions::ObjectNotFound) in the general Koha::Exceptions
namespace. But move the package-specific ones into its own file. To aid
maintenance. A good candidate are Koha::Exceptions::Virtualshelves

- We don't use a Try/Catch library. It would make it easier to use
Koha::Exceptions with a nice syntax.

There are a couple interesting libraries: Try::Tiny and TryCatch. [1] I
prefer the latter because the type check seems nicer to write and eval
(instead of an if/ifelse cascade checking ref($exception) eq 'Something'.

I have my opinions on this items, and it would be great to discuss it
openly. There's code in bugzilla waiting for QA, and it'd be great to have
some consensus on how to organize the code for the future.

Regards

[1] http://search.cpan.org/~ether/Try-Tiny-0.27/lib/Try/Tiny.pm and
http://search.cpan.org/~ash/TryCatch-1.003002/lib/TryCatch.pm

-- 
Tomás Cohen Arazi
Theke Solutions (https://theke.io <http://theke.io/>)
✆ +54 9351 3513384
GPG: B2F3C15F
_______________________________________________
Koha-devel mailing list
Koha-devel@lists.koha-community.org
http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to