Re: Making C function declaration parameter names consistent with corresponding definition names
Peter Geoghegan <pg@bowt.ie>
From: Peter Geoghegan <pg@bowt.ie>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-09-17T18:05:09Z
Lists: pgsql-hackers
On Fri, Sep 16, 2022 at 6:48 PM Peter Geoghegan <pg@bowt.ie> wrote: > On Fri, Sep 16, 2022 at 6:20 PM Tom Lane <tgl@sss.pgh.pa.us> wrote: > > I think they're easily Stroustrup's worst idea ever. You're basically > > throwing away an opportunity for documentation, and that documentation > > is often sorely needed. > > He could at least point to C++ pure virtual functions, where omitting > a parameter name in the base class supposedly conveys useful > information. I don't find that argument particularly convincing > myself, even in a C++ context, but at least it's an argument. Doesn't > apply here in any case. Several files from src/timezone and from src/backend/regex make use of unnamed parameters in function declarations. It wouldn't be difficult to fix everything and call it a day, but I wonder if there are any special considerations here. I don't think that Henry Spencer's regex code is considered vendored code these days (if it ever was), so that seems clear cut. I'm less sure about the timezone code. Note that regcomp.c has a relatively large number of function declarations that need to be fixed (regexec.c has some too), since the regex code was written in a style that makes unnamed parameters in declarations the standard -- we're talking about changing every static function declaration. The timezone code is just inconsistent about its use of unnamed parameters, kind of like reorderbuffer.h. I don't see any reason to treat this quasi-vendored code as special, but I don't really know anything about your workflow with the timezone files. -- Peter Geoghegan
Commits
-
Harmonize parameter names in pg_dump/pg_dumpall.
- 20e69daa1348 16.0 landed
-
Harmonize parameter names in contrib code.
- 0faf7d933f62 16.0 landed
-
Harmonize more lexer function parameter names.
- 8fb4e001e9c1 16.0 landed
-
Harmonize parameter names in ecpg code.
- 3535ebce5dc5 16.0 landed
-
Harmonize lexer adjacent function parameter names.
- aab06442d488 16.0 landed
-
Harmonize more parameter names in bulk.
- a601366a460f 16.0 landed
-
Harmonize parameter names in storage and AM code.
- bfcf1b34805f 16.0 landed
-
Harmonize heapam and tableam parameter names.
- 4bac9600f09a 16.0 landed
-
Consistently use named parameters in timezone code.
- c4f8e89fef3d 16.0 landed
-
Consistently use named parameters in regex code.
- bc2187ed63c5 16.0 landed
-
Harmonize reorderbuffer parameter names.
- 035ce1feb2ed 16.0 landed
-
Make check_usermap() parameter names consistent.
- 4274dc223ce7 16.0 landed
- 1ef00afe2e45 15.0 landed
- 44933010ceb3 14.6 landed
- b7558111aba2 13.9 landed
- c1dd5a8aedc7 12.13 landed
- f01fd89b1537 11.18 landed
- 109836a14fe9 10.23 landed