Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:118034 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 7741 invoked from network); 21 Jun 2022 09:49:33 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 21 Jun 2022 09:49:33 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 6E830180384 for ; Tue, 21 Jun 2022 04:38:47 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,HTML_MESSAGE,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-yb1-f178.google.com (mail-yb1-f178.google.com [209.85.219.178]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Tue, 21 Jun 2022 04:38:46 -0700 (PDT) Received: by mail-yb1-f178.google.com with SMTP id l11so23934257ybu.13 for ; Tue, 21 Jun 2022 04:38:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=colopl.co.jp; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=rrkS8Ndcq50wim8JDECZZSuRFo7wWp/zn1oD+O4g3EQ=; b=NIirgeOukFctLP/D2trxSv1qLzOfY6S4Ls8JtkzvR2/UKhMuFd3CYUODv2feve7AvA LzZmwCKGoXFitD0ZYx4/0+hJrA5aYnNEzm77PPI7gXjbV7CFDxz2O366DKCUrhTwR5Km 04rPWIbRFI2LoRFjZyqHqWXvMo5yZbwoZmDhGlVBa0MlxNUZ6266Zh9P0vEQ9a0eE4YT 7QdagjPd8Mf/OXFU+8Ln6XiejZhU3QkF1DWRED7y+UxeckhvrIqwN1E0633plpiG9ojK sZqFXQvGSFJ5motTZpi6+WtT3yTqhWiTMUerQ63vpsDCjNAJGKRsO7XZjMCie3Y3a4uU 9Mog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=rrkS8Ndcq50wim8JDECZZSuRFo7wWp/zn1oD+O4g3EQ=; b=pKMFuGib69lFK9afuSaSCWEcMuFNsJi3xQyC6OxmfixqfhF0cMz2kiWSrta2r6+/QT ZoD607/iLRcLUuc0Qq96SVSKiklCoyJo7ei5Kaw1Dd5L+avAy6Ruxz/CQCfpk5yHpqVH vDMFYOBP2s2wwbjvhPnuNt0dTwuMSYTv6waJrG6aBQlyf4fYztEp3JXI5DCfDK2s7p6n YiMgZYLleti3d1Z+rjkui/jibt2W9EA6g3BYVJ/dB7gqMJKrDpomb8ySeGxan8pi3g9V akjQgzQHyc0FQEP5dLN4YL+6W91ne3buapyfUjSCv4mzl3PyMqQBt8Afu8WpBhQ1u292 nlpw== X-Gm-Message-State: AJIora9jwekxl4KMTaqtPybd1rf0WccluH3DslC7DUp/RsnsCLc7Bauq XoPjDrj9rQfsxKyw8OgOgCmpiM3QPfFB219afuLt5XEXzHf37a1MlQ== X-Google-Smtp-Source: AGRyM1vYQf6xP0VsS1d5G28YX53nbnL/SlCv3v8FGzJdIBZ0wW98QnWQQkB4/ZSxztXZ134jPFDMf2HH7P3elWSYLzI= X-Received: by 2002:a25:e6c1:0:b0:664:6ef1:b2 with SMTP id d184-20020a25e6c1000000b006646ef100b2mr29075699ybh.579.1655811526124; Tue, 21 Jun 2022 04:38:46 -0700 (PDT) MIME-Version: 1.0 References: <376a90af-8709-012c-76ee-fa351d1b017c@gmx.de> In-Reply-To: Date: Tue, 21 Jun 2022 20:38:35 +0900 Message-ID: To: Guilliam Xavier , internals@lists.php.net Content-Type: multipart/alternative; boundary="000000000000d47f2c05e1f3a95b" Subject: Re: [PHP-DEV] [RFC] [Under Discussion] Random Extension Improvement From: g-kudo@colopl.co.jp (Go Kudo) --000000000000d47f2c05e1f3a95b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 2022=E5=B9=B46=E6=9C=8821=E6=97=A5(=E7=81=AB) 18:23 Guilliam Xavier : > On Mon, Jun 20, 2022 at 5:25 PM Christoph M. Becker > wrote: > > > > On 20.06.2022 at 16:44, Go Kudo wrote: > > > > > 2022=E5=B9=B46=E6=9C=8820=E6=97=A5(=E6=9C=88) 23:37 Lynn : > > > > > >> On Mon, Jun 20, 2022 at 3:15 PM Guilliam Xavier < > guilliam.xavier@gmail.com > > >> wrote: > > >> > > >>>> https://wiki.php.net/rfc/random_extension_improvement > > >>> > > >>> Thanks, but I am not sure about your argument in "Classnames are no= t > > >>> canonicalized": does "PHP applies strict PascalCase to class names" > > >>> (which remains to be proved) really imply to rename *acronyms* (e.g= . > > >>> "CombinedLCG" to "CombinedLcg")? especially given existing classes > > >>> like "SimpleXMLElement" (not "SimpleXmlElement"), and that the > > >>> accepted "Class Naming" RFC (https://wiki.php.net/rfc/class-naming) > > >>> voted for "PascalCase except Acronyms" (not "Always PascalCase") -- > > >>> excerpts: > > >> > > >> Not specifically directed at this discussion, but perhaps this needs= a > > >> revision. HTTPStatus is much harder to read for me than HttpStatus > and it's > > >> unclear where the boundary of an acronym starts or stops. If anyone > ever > > >> decides to make an RFC for this, you have my vote. These Acronyms ar= e > > >> treated as words and thus should follow the same naming convention. > If they > > >> shouldn't be treated as words, write their full name: > > >> HypertextTransferProtocolStatus. > > > > > > I support "PascalCase except Acronyms" for readability, but would lik= e > to > > > see this > > > clarified as I get very lost when implementing new features. > > > I think it is necessary because I expect various OO APIs will be adde= d > in > > > the future, > > > like cURL. > > > > In my opinion, was a bit > > unfortunate. It may have been better to decide on a case by case basis= . > > > > For instance, we have introduced several Curl* classes in PHP 8.0[1], > > and these adhere to the appropriate example in the RFC, although CURL i= s > > clearly an acronym[2], and the canonical spelling is even cURL. Maybe > > even worse, the previously introduced CURLFile[3] uses different > > capitalization, and CURLStringFile[4] which was introduced in PHP 8.1 i= s > > aligned to that spelling. > > > > So, obviously, the RFC didn't have a good impact on some of the namings > > so far. > > That seems unfortunate indeed :/ and there are others, e.g. > "XMLReader" but "XmlParser"... Moreover, I see that > > https://github.com/php/php-src/blob/master/CODING_STANDARDS.md#user-funct= ionsmethods-naming-conventions > item 7 only says "should", not "must". > > I too find "HttpStatus" [or "HTTP_status", for that matter] more > readable than "HTTPStatus" (where I first see "HTTPS" before noticing > that the S actually starts a second word), and "PcgOneseq128XslRr64" > than "PCGOneseq128XSLRR64" (especially if not already familiar with > "PCG" and "XSL-RR")... > > So, it may indeed be OK (and preferred?) to "canonicalize" the > proposed class names (just, "PHP applies strict PascalCase to class > names" wasn't a good argument for it). > > PS @Go Kudo: please don't be offended, but in general, maybe you > should wait "a bit more" [or even ask] for other opinions, rather than > changing the RFC "too fast" after only one (especially when I said "I > am not sure" and asked a question) > > Regards, > > -- > Guilliam Xavier > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: https://www.php.net/unsub.php > > Hi It's a difficult problem... At least in this thread, "Always PascalCase" seems to be more favored. (I know this is probably not the best way to put it, but I can't think of any other analogy...) I am wondering how to write to the RFC, but if there are no problems, I will make the following changes. - Change to `Randomizer::pickArrayKey(array $array, int $num =3D 1): int|string|array` -> `Randomizer::pickArrayKeys(array $array, int $num): array` - Apply "Always PascalCase" based on ML's opinion > PS Thanks for the advice. I am not very familiar with the OSS community, so it helps a lot. Regards Go Kudo --000000000000d47f2c05e1f3a95b--