Eludia reviews


RSS | Module Info | Add a review of Eludia

Eludia ( *

Acme::BadExample number 2. A mature non-OO Acme::BadExample.

Horrible code.
Horrible module versioning.
Horrible packaging (C:? gif.pm? WTF?)
Horrible logging style (print STDERR on module use? Well, it's ok for mature systems)
Continuously reinventing the wheel.
No comments at all.
No tests, even basic sanity check.
Inline HTML in modules instead of templates.
No documentation for you unless you understand Russian.
No interface unless Russian in windows-1251 charset (yes, it's hard-coded).
And it's called MVC. Oh gosh.

Does it work? I bet yes.
Can you use it? No way, unless you're the author.

The only good thing is that it has an aposematic name. So elude it ...for great justice.

Also, those who don't like "use strict" should better write in PHP.

Eludia (07.08.31) *

Eludia.pm says that documentation exists, but only in Russian. Fair enough; we can't expect every hacker to learn a foreign language. If the documentation exists, it can be translated in some fashion. However, are no comments in the code. This means that if you want to know what's going on, you need to put in way too much effort to find out. That's why I rated this module "1" for documentation.

Looking at the code, it becomes clear that you don't need to follow the path of execution to assess this distribution. Where should I begin? How about at the beginning? None of the modules in this distribution use strict or warnings (one actually starts with "no warnings;"). Barely any of them even have package declarations. One that does is Eludia::Loader:

search.cpan.org/src/DMOW/Eludia-07.08... (You may have to edit this URL to reflect the latest version number.)

It would be condescending of me towards the CPAN community to point out the problem there.

Setting aside grotesqueries such as the above, there is plenty else to criticise. The "date-style" version number suggests a general ignorance of Perl module style. Lines that smell of cargo-culting ("my $proto = shift; my $class = ref($proto) || $proto;" anyone?). Places where modules are called upon without being "use"d. And as if that wasn't bad enough, the physical appearance of the code is horrible. Unnecessary whitespace ("$self -> {Out_headers} -> {-content_encoding} = $_ [0];") is abundant; and the author appears to have been using an editor with soft wrapping switched on, as the modules are full of extremely long lines. And I mean long; the longest I found was 698 characters.

Frankly, this distribution sucks. Don't use it.
1 hidden unhelpful review