Hi,

while recapping some of the p5ee stuff something came to me. Looking at 
some of the goals as stated on http://www.officevision.com/pub/p5ee and 
then look at the, experimental, code in P5EEx::Blue combined with what I 
recall about an earlier exchange of messages on this list I wonder...

Some blurbs from vision/mission:

> mission of the P5EE project is to promote the development, deployment, 
> and acceptance of Enterprise Systems written in Perl
                                                                          
     ^^^^^^^^^^^^^^^^^^^^^^^^

> IT managers have confidence in hiring enterprise architects
    ^^^^^^^^

These being some of the goals of p5ee, I wonder how the current coding 
guidelines/style guide came to be. If you want to see a larger 
acceptance in the enterprise world and it's managers it's been my 
experience that it helps a *lot* when your code looks like java code. I 
have had several technical due dilligences taken by "enterprise"-type of 
guys and received a lot of credit as they saw that the perl code at our 
company really looked like java. The coding guidelines were defined 
based on looking long and hard at both Sun's java coding guidelines as 
well as guidelines defined within RUP (Rational Unified Process) and 
adapted them to the perl world.

These guidelines led to perl code that was easy to read by anyone with 
basic programming experience, even by big hurds of java programmers ;) 
None of the line-noise that we are so used to in the perl world. I dare 
to say that it's not perl itself that leads to line-noise, it's how perl 
is being used which is something you can enforce by good guidelines that 
are already accepted in the enterprise world.

The highlights in this respect are primarily "StudlyCase" and the use of 
"getXXX/setXXX" on attributes:

my $user = $context->user();

or

$user = $self->{cgi}->remote_user();   ## this is a "get"
$self->{cgi}->remote_user($user);      ## a "set" (same name!)

I know me saying this will probably cause yet another thread on personal 
preference (and some flames as well) but this shouldn't be about 
personal preference if we really want more acceptance in the enterprise 
world. I know that "remote_user()" vs. "getRemoteUser()" doesn't make 
any difference in the correctness of the code but enterprise people seem 
to care a lot about looks...

Regards,

Bas.

Reply via email to