From: Kevin Wolf <kwolf@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: qemu-devel@nongnu.org, alex.williamson@redhat.com,
andrew@codeconstruct.com.au, andrew@daynix.com,
arei.gonglei@huawei.com, berrange@redhat.com, berto@igalia.com,
borntraeger@linux.ibm.com, clg@kaod.org, david@redhat.com,
den@openvz.org, eblake@redhat.com, eduardo@habkost.net,
farman@linux.ibm.com, farosas@suse.de, hreitz@redhat.com,
idryomov@gmail.com, iii@linux.ibm.com, jamin_lin@aspeedtech.com,
jasowang@redhat.com, joel@jms.id.au, jsnow@redhat.com,
leetroy@gmail.com, marcandre.lureau@redhat.com,
marcel.apfelbaum@gmail.com, michael.roth@amd.com, mst@redhat.com,
mtosatti@redhat.com, nsg@linux.ibm.com, pasic@linux.ibm.com,
pbonzini@redhat.com, peter.maydell@linaro.org, peterx@redhat.com,
philmd@linaro.org, pizhenwei@bytedance.com, pl@dlhnet.de,
richard.henderson@linaro.org, stefanha@redhat.com,
steven_lee@aspeedtech.com, thuth@redhat.com,
vsementsov@yandex-team.ru, wangyanan55@huawei.com,
yuri.benditovich@daynix.com, zhao1.liu@intel.com,
qemu-block@nongnu.org, qemu-arm@nongnu.org,
qemu-s390x@nongnu.org, kvm@vger.kernel.org
Subject: Re: [PATCH 01/18] qapi: Smarter camel_to_upper() to reduce need for 'prefix'
Date: Wed, 31 Jul 2024 11:43:52 +0200 [thread overview]
Message-ID: <ZqoHWPOeqF7uGncx@redhat.com> (raw)
In-Reply-To: <20240730081032.1246748-2-armbru@redhat.com>
Am 30.07.2024 um 10:10 hat Markus Armbruster geschrieben:
> camel_to_upper() converts its argument from camel case to upper case
> with '_' between words. Used for generated enumeration constant
> prefixes.
>
> When some of the words are spelled all caps, where exactly to insert
> '_' is guesswork. camel_to_upper()'s guesses are bad enough in places
> to make people override them with a 'prefix' in the schema.
>
> Rewrite it to guess better:
>
> 1. Insert '_' after a non-upper case character followed by an upper
> case character:
>
> OneTwo -> ONE_TWO
> One2Three -> ONE2_THREE
>
> 2. Insert '_' before the last upper case character followed by a
> non-upper case character:
>
> ACRONYMWord -> ACRONYM_Word
>
> Except at the beginning (as in OneTwo above), or when there is
> already one:
>
> AbCd -> AB_CD
Maybe it's just me, but the exception "at the beginning" (in the sense
of "after the first character") seems to be exactly where I thought
"that looks strange" while going through your list below. In particular,
I'd expect X_DBG_* instead of XDBG_*. I also thought that the Q_*
spelling made more sense, though this might be less clear. But in case
of doubt, less exceptions seems like a good choice.
> + # Copy remainder of ``value`` to ``ret`` with '_' inserted
> + for ch in value[1:]:
> + if ch.isupper() == upc:
> + pass
> + elif upc:
> + # ``ret`` ends in upper case, next char isn't: insert '_'
> + # before the last upper case char unless there is one
> + # already, or it's at the beginning
> + if len(ret) > 2 and ret[-2] != '_':
> + ret = ret[:-1] + '_' + ret[-1]
I think in the code this means I would have expected len(ret) >= 2.
Kevin
next prev parent reply other threads:[~2024-07-31 9:45 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-30 8:10 [PATCH 00/18] qapi: Reduce use of 'prefix' Markus Armbruster
2024-07-30 8:10 ` [PATCH 01/18] qapi: Smarter camel_to_upper() to reduce need for 'prefix' Markus Armbruster
2024-07-30 9:13 ` Daniel P. Berrangé
2024-07-30 12:22 ` Markus Armbruster
2024-07-30 13:33 ` Avihai Horon
2024-07-31 5:12 ` Markus Armbruster
2024-07-31 5:59 ` Avihai Horon
2024-07-31 6:37 ` Markus Armbruster
2024-07-31 9:43 ` Kevin Wolf [this message]
2024-08-09 9:03 ` Markus Armbruster
2024-07-30 8:10 ` [PATCH 02/18] tests/qapi-schema: Drop temporary 'prefix' Markus Armbruster
2024-08-12 10:04 ` Thomas Huth
2024-07-30 8:10 ` [PATCH 03/18] qapi/block-core: " Markus Armbruster
2024-07-30 8:10 ` [PATCH 04/18] qapi/common: " Markus Armbruster
2024-07-30 15:07 ` Cédric Le Goater
2024-07-30 8:10 ` [PATCH 05/18] qapi/crypto: " Markus Armbruster
2024-07-30 8:57 ` Daniel P. Berrangé
2024-07-30 8:10 ` [PATCH 06/18] qapi/ebpf: " Markus Armbruster
2024-07-30 8:10 ` [PATCH 07/18] qapi/machine: " Markus Armbruster
2024-07-30 9:28 ` Zhao Liu
2024-07-30 8:10 ` [PATCH 08/18] qapi/ui: " Markus Armbruster
2024-07-30 8:10 ` [PATCH 09/18] qapi/machine: Rename CpuS390* to S390Cpu, and drop 'prefix' Markus Armbruster
2024-07-30 9:08 ` Daniel P. Berrangé
2024-07-30 9:26 ` Zhao Liu
2024-08-09 7:10 ` Markus Armbruster
2024-08-12 10:09 ` Thomas Huth
2024-07-30 8:10 ` [PATCH 10/18] qapi/crypto: Drop unwanted 'prefix' Markus Armbruster
2024-07-30 8:58 ` Daniel P. Berrangé
2024-07-30 8:10 ` [PATCH 11/18] qapi/crypto: Rename QCryptoHashAlgorithm to *Algo, and drop prefix Markus Armbruster
2024-07-30 9:01 ` Daniel P. Berrangé
2024-07-30 12:26 ` Markus Armbruster
2024-07-31 9:46 ` Daniel P. Berrangé
2024-08-02 14:27 ` Markus Armbruster
2024-07-30 8:10 ` [PATCH 12/18] qapi/crypto: Rename QCryptoCipherAlgorithm " Markus Armbruster
2024-07-30 9:02 ` Daniel P. Berrangé
2024-07-30 8:10 ` [PATCH 13/18] qapi/crypto: Rename QCryptoIVGenAlgorithm " Markus Armbruster
2024-07-30 9:03 ` Daniel P. Berrangé
2024-07-30 8:10 ` [PATCH 14/18] qapi/crypto: Rename QCryptoAkCipherAlgorithm " Markus Armbruster
2024-07-30 9:03 ` Daniel P. Berrangé
2024-07-30 8:10 ` [PATCH 15/18] qapi/crypto: Rename QCryptoRSAPaddingAlgorithm " Markus Armbruster
2024-07-30 9:04 ` Daniel P. Berrangé
2024-07-30 8:10 ` [PATCH 16/18] qapi/crypto: Rename QCryptoAFAlg to QCryptoAFAlgo Markus Armbruster
2024-07-30 9:05 ` Daniel P. Berrangé
2024-07-30 8:10 ` [PATCH 17/18] qapi/cryptodev: Drop unwanted 'prefix' Markus Armbruster
2024-07-30 9:06 ` Daniel P. Berrangé
2024-07-30 8:10 ` [PATCH 18/18] qapi/cryptodev: Rename QCryptodevBackendAlgType to *Algo, and drop prefix Markus Armbruster
2024-07-30 9:06 ` Daniel P. Berrangé
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZqoHWPOeqF7uGncx@redhat.com \
--to=kwolf@redhat.com \
--cc=alex.williamson@redhat.com \
--cc=andrew@codeconstruct.com.au \
--cc=andrew@daynix.com \
--cc=arei.gonglei@huawei.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=berto@igalia.com \
--cc=borntraeger@linux.ibm.com \
--cc=clg@kaod.org \
--cc=david@redhat.com \
--cc=den@openvz.org \
--cc=eblake@redhat.com \
--cc=eduardo@habkost.net \
--cc=farman@linux.ibm.com \
--cc=farosas@suse.de \
--cc=hreitz@redhat.com \
--cc=idryomov@gmail.com \
--cc=iii@linux.ibm.com \
--cc=jamin_lin@aspeedtech.com \
--cc=jasowang@redhat.com \
--cc=joel@jms.id.au \
--cc=jsnow@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=leetroy@gmail.com \
--cc=marcandre.lureau@redhat.com \
--cc=marcel.apfelbaum@gmail.com \
--cc=michael.roth@amd.com \
--cc=mst@redhat.com \
--cc=mtosatti@redhat.com \
--cc=nsg@linux.ibm.com \
--cc=pasic@linux.ibm.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=peterx@redhat.com \
--cc=philmd@linaro.org \
--cc=pizhenwei@bytedance.com \
--cc=pl@dlhnet.de \
--cc=qemu-arm@nongnu.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=stefanha@redhat.com \
--cc=steven_lee@aspeedtech.com \
--cc=thuth@redhat.com \
--cc=vsementsov@yandex-team.ru \
--cc=wangyanan55@huawei.com \
--cc=yuri.benditovich@daynix.com \
--cc=zhao1.liu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).