Re: Perl coding style in postgresql - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: Perl coding style in postgresql
Date
Msg-id 49FAF1E0.60307@dunslane.net
Whole thread Raw
In response to Perl coding style in postgresql  (Laurent Laborde <kerdezixe@gmail.com>)
List pgsql-hackers

Laurent Laborde wrote:
> Friendly greetings (again) !
>
> I'm planning to patch all perl file in the postgresql source tree.
> But i can't find any rules other than : set tabstop=4 shiftwidth=4 noexpandtab
>   


As I posted elsewhere, use perltidy <http://perltidy.sourceforge.net/> 
to format the code according to standard postgres conventions thus:
   perltidy -b -bl -nsfs -naws -l=100 -ole=unix  *.pl *.pm

> It could be nice to define the perl coding style of postgresql
> somewhere on a wiki.
>
> Here is a few questions :
> - What is the oldest perl version that we should support ?
>   

Nothing earlier than 5.6, certainly.

> - Do we use the sames rules for "tools" and "contribs" (eg : use strict) ?
>   

Yes. The two major uses we currently have for perl are to create psql's 
help, and the MSVC build system. These are important enough that they 
should be tolerably sane. But so should any tool, really.

> - is there any obvious rules other than "use strict" ?
>   

not that I can think of.

> - Should we support Win32 platform in perl tools use by developpers
> (eg : check_keywords.pl) ? (that include the "\" vs "/" problem in
> file path)
>   

Use of forward slash / in file paths is not a problem on Windows. See 
the the buildfarm script 

<http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgbuildfarm/client-code/run_build.pl?rev=1.102&content-type=text/x-cvsweb-markup>

which runs happily on Windows and doesn't use backslash in file paths at 
all.

> - What about dependencies of external perl modules ?
>   

Avoid them unless they are standard modules that should ship with any 
sane perl distribution. We've had trouble in the past even with things 
one might expect such as ExtUtils::MakeMaker. If it's not listed in 
"perldoc perlmodlib" then don't use it.

> - I'm used to heavily comment my code... should i do that here too ?
>   

Not to the point of silliness. But if something isn't obvious then 
explain it.


cheers

andrew



pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: ECPG, two varchars with same name on same line
Next
From: Andrew Dunstan
Date:
Subject: Re: plpgsql's EXIT versus block and loop nesting