Re: perlcritic and perltidy

Stephen Frost <sfrost@snowman.net>

From: Stephen Frost <sfrost@snowman.net>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andrew Dunstan <andrew.dunstan@2ndquadrant.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2018-05-06T17:46:28Z
Lists: pgsql-hackers
Greetings,

* Tom Lane (tgl@sss.pgh.pa.us) wrote:
> Andrew Dunstan <andrew.dunstan@2ndquadrant.com> writes:
> > On 05/06/2018 11:53 AM, Tom Lane wrote:
> >> What sort of changes do we get if we remove those two flags as you prefer?
> >> It'd help to see some examples.
> 
> > Essentially it adds some vertical whitespace to structures so that the
> > enclosing braces etc appear on their own lines. A very typical change
> > looks like this:
> 
> >     -         { code      => $code,
> >     +         {
> >     +           code      => $code,
> >                 ucs       => $ucs,
> >                 comment   => $rest,
> >                 direction => $direction,
> >                 f         => $in_file,
> >     -           l         => $. };
> >     +           l         => $.
> >     +         };
> 
> Hm.  I have no strong opinion about whether this looks better or not;
> people who write more Perl than I do ought to weigh in.

I definitely prefer to have the braces on their own line- makes working
with the files a lot easier when you've got a lot of hashes
(particularly thinking about the hashes for the pg_dump regression
tests..).  Having them on independent lines would have saved me quite a
few keystrokes when I reworked those tests.

> However, I do want to note that we've chosen the shorter style for
> the catalog .dat files, and that's enforced by reformat_dat_file.pl.
> I'd be against changing that decision, because one of the goals for
> the .dat file format was to minimize the risk of patches applying in
> the wrong place.  Near-content-free lines containing just "{" or "},"
> would increase that risk by reducing the uniqueness of patch context
> lines.

I can understand that concern, though I don't think it really applies as
much to other the other perl code.

Thanks!

Stephen

Commits

  1. Don't force a blank line before comments in perl code

  2. Restrict vertical tightness to parentheses in Perl code