pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Bruce Momjian <bruce@momjian.us>
To: Andrew Dunstan <andrew@dunslane.net>
Cc: pgsql-committers@lists.postgresql.org
Subject: Re: pgsql: Perl scripts: eliminate "Useless interpolation" warnings
Date: Sun, 15 Sep 2024 21:28:58 -0400
Message-ID: <ZueJ2qppUkTwREIk@momjian.us> (raw)
In-Reply-To: <42f2242a-422b-4aa3-8d60-d67b229c4a52@dunslane.net>
References: <E1spqfS-001Ehn-Cx@gemulon.postgresql.org>
	<66b5b1d6-3f2a-4944-91a3-7e40a565ccac@dunslane.net>
	<ZudAtNRQOkveAa91@momjian.us>
	<e51357f4-4ac5-4b64-b01a-15931485702f@dunslane.net>
	<ZudFaDhhXHg3AAlv@momjian.us>
	<42f2242a-422b-4aa3-8d60-d67b229c4a52@dunslane.net>

On Sun, Sep 15, 2024 at 06:07:21PM -0400, Andrew Dunstan wrote:
> 
> On 2024-09-15 Su 4:36 PM, Bruce Momjian wrote:
> > On Sun, Sep 15, 2024 at 04:33:49PM -0400, Andrew Dunstan wrote:
> > > I understand perfectly what the warning is about.
> > > 
> > > But the project's perlcritic policy is expressed at src/tools/perlcheck/
> > > perlcriticrc. It's basically severity 5 plus some additions and one exception.
> > > We shouldn't be imposing our personal perlcritic policies on the project.
> > > 
> > > The change isn't bad in itself, but there shouldn't be any expectation that we
> > > will keep to this policy, as it's not required by project policy.
> > > 
> > > There is a huge mass of perlcritic issues in our perl code at severity 1 (over
> > > 13000 by my count). If we're going to clean them up (which I would oppose) we
> > > should do it in a systematic way. It's hard to see why this one is special.
> > I guess it is special only because my policy is more strict so I wanted
> > my new code to match.  Should I revert it?
> 
> 
> Yes I think so.

Okay, done.

> > Is the very tiny improvement
> > not worth the churn in the code?
> 
> 
> Yeah, I don't think it is.

FYI, the line that got me started was:

	my ($tmpfilename) = $filename . ".tmp";

while I would write that with single quotes.  Because mine uses single
quotes and version_stamp.pl uses double-quotes, I started to try to
unify the style.

I agree severity=1 generates many false warnings, and changing code
based on them can actually produce errors, but I do think there are some
safe ones like the single/double quote item we can improve.

Attached is my Perl critic file, where I do use severity=1, but turn off
various warnings.

-- 
  Bruce Momjian  <bruce@momjian.us>        https://momjian.us
  EDB                                      https://enterprisedb.com

  When a patient asks the doctor, "Am I going to die?", he means 
  "Am I going to die soon?"

Attachments:

perlcritic (text/plain, 1.3K) download # syntax https://github.com/schwern/Perl-Critic/blob/master/examples/perlcriticrc verbose = 7 severity = 1 # list from --profile-proto # --verbose 8 outputs critic labels # Write open $handle, $path instead of open($handle, $path). [-CodeLayout::ProhibitParensWithBuiltins] # Must run code through perltidy. [-CodeLayout::RequireTidyCode] # Write if($condition){ do_something() } instead of do_something() if $condition. [-ControlStructures::ProhibitPostfixControls] # Give every module a $VERSION number. [-Modules::RequireVersionVar] # Write @{ $array_ref } instead of @$array_ref. [-References::ProhibitDoubleSigils] # Always use the /s modifier with regular expressions. [-RegularExpressions::RequireDotMatchAnything] # Always use the /x modifier with regular expressions. [-RegularExpressions::RequireExtendedFormatting] # Always use the /m modifier with regular expressions. [-RegularExpressions::RequireLineBoundaryMatching] # Use character classes for literal meta-characters instead of escapes. [-RegularExpressions::ProhibitEscapedMetacharacters] # Don't write sub my_function (@@) {}. [-Subroutines::ProhibitSubroutinePrototypes] # Write q{} instead of ''. [-ValuesAndExpressions::ProhibitEmptyQuotes] # Don't use values that don't explain themselves. [-ValuesAndExpressions::ProhibitMagicNumbers]

view thread (8+ messages)  latest in thread

Message-ID: <ZueJ2qppUkTwREIk@momjian.us>
Permalink:  ../ZueJ2qppUkTwREIk@momjian.us/
Also on:    postgresql.org/message-id/ZueJ2qppUkTwREIk@momjian.us

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: bruce@momjian.us, andrew@dunslane.net, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: Perl scripts: eliminate "Useless interpolation" warnings
  In-Reply-To: <ZueJ2qppUkTwREIk@momjian.us>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox