Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:110403 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 84560 invoked from network); 6 Jun 2020 22:56:29 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 6 Jun 2020 22:56:29 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 7FCA7180503 for ; Sat, 6 Jun 2020 14:39:27 -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=-0.7 required=5.0 tests=BAYES_05,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS 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-il1-f170.google.com (mail-il1-f170.google.com [209.85.166.170]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Sat, 6 Jun 2020 14:39:26 -0700 (PDT) Received: by mail-il1-f170.google.com with SMTP id l6so13247284ilo.2 for ; Sat, 06 Jun 2020 14:39:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=zO5UzM6QIb86ALlBjouXzm0m+/zYGNBPUjva0M/pldI=; b=bYq8zITd8b2P9yeiJFOQkA6uBeNNIMRk79hBi1UoswCJyX639bY6md7e/ICRruGKt7 0psKR5wwXCjCTpW3RgzQONHTBqy3Rq062g+nrjs1lVuTsN0NkBg06+/ZKCv3CaBlSnjs GFJATVH3afEJC8m572c7eFKKfOnY0S/75rVIFeoMtVMaxlC7lyNJr1urcdtaDqxsCqG8 KC0T5P3e5rtkMr6caf/5J70tMDe0njxfNcd8L5RnbDu4ZTOOFhRkWUPSPJYLvA/oA3Y7 X9+uxZrFFJbZ1zHzhArmoYY5wSGACKAPOO4VeGqyxK0JNQmVdVTwipwc7uCSsdfUQNE1 6wvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=zO5UzM6QIb86ALlBjouXzm0m+/zYGNBPUjva0M/pldI=; b=Nwj9ghZdqROqXuyArk2yb6ZDK9PxvPgTTj+ErFVAbAUTT6ECCOElmHYQctl0Vxx5Hd qLaR/hovojYPWRIl0moEKnscMsyb04d0C3cRWoPs7N6cs8jCXxlWR0aHlNE36tigOjUr S422/ZU3tea2DVCYpl8w0yucelskPwRueo780hBNGt1/xe4wU5lSWuO7q5DbGmngBGUR uvG0WtN6p3A8YOnbNOHgjJJTwmTe/XsQXwVaArFTccIhfaGChdWysTy++tFstb0hHt0n ZPdold6+DS7p2i55dTPuSxEclHkxUOqTvYlUPm9pdblAFWUdrnDzgP4ayuOIs3Jhqnqp hWOA== X-Gm-Message-State: AOAM532Xh9KGn5TkYyXzduFf5xG55kcLhG0VJXt8xq5vSSA3HUvD3+XS qCAb7hHtqf9Q0fBt1V1zHkdbwVYTaGcF6DUE7/c= X-Google-Smtp-Source: ABdhPJwlAfK61av0D1hGupXjd/rXTcKsW7golgom18ClLgZkEfZfbIbznZ79EzchqXr5+CtNPWlxh5cbKVAcBMVbWrQ= X-Received: by 2002:a92:854a:: with SMTP id f71mr14753750ilh.28.1591479565013; Sat, 06 Jun 2020 14:39:25 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Sun, 7 Jun 2020 00:39:14 +0300 Message-ID: To: Nikita Popov Cc: Internals Content-Type: multipart/alternative; boundary="00000000000023da3905a771364a" Subject: Re: [PHP-DEV] Refactoring run-tests.php From: maxsem.wiki@gmail.com (Max Semenik) --00000000000023da3905a771364a Content-Type: text/plain; charset="UTF-8" On Fri, Jun 5, 2020 at 7:52 PM Sara Golemon wrote: > This is a perennial topic and I don't want to discourage you,BUT... > run-tests.php has a disturbing number of modes and edgecases, and the > preference has traditionally been for small movements which are easily > understandable individually. > That's why it's being done in a separate repository and every commit is tested to work. But yeah, once I get around to adding tests, suggestions of more things to test for will be appreciated. On Fri, Jun 5, 2020 at 8:04 PM Nikita Popov wrote: > Happy to accept run-tests refactorings in general (there is a lot of > global state to eradicate!), but please keep it single-file. We definitely > need it single-file for distribution purposes, and I don't particularly > want to have a "run-tests build system" for what I perceive to be little > benefit. > Once I add tests, it will just not be a single-file project anymore. > I'm not sure why PHP developers in particular seem to be so hung up about > this issue, but: There really is no need to split every class into a > separate file. This is how we develop in non-PHP, non-Java languages > (C/C++/Rust/...) all the time. > Because PHP taught them to: can't have a serious project without the autoloader, can't have a sane autoloader without per-class files (PSR-4 is as it is not due to its developers' preferences, but because it was the most reasonable thing to do). If only there was a way for classes to be automatically and seamlessly located from PHP core itself... My split into multiple files wasn't dogmatic, but purely pragmatic: a 3722 line file is too big for my liking (as in, it's too hard to find my way through it, even if the code is organized neatly into classes), and the number of lines will only grow. Also, it's way easier to have one tab per class. =) -- Best regards, Max Semenik --00000000000023da3905a771364a--