Moda v pojmenování nebo nešvar?
- Petr Parolek
- Člen | 455
OK, Nette je jen modní kus kodu, chápu – tolik palců dolů-
Editoval ppar (7. 2. 2021 17:15)
- Šaman
- Člen | 2662
Já ho nedal, je mi to poměrně jedno, ale také to považuji za bad practise.
Dřív jsem také používal různé fancy úpravy a mezivrstvy, ale pak jsem zjistil, že když dostanu do rukou cizí kód/projekt, tak jsem dost zmatený. Teď už si u každé úpravy konvencí dvakrát říkám, jestli ji opravdu potřebuji. A často jsem došel k závěru, že je lepší se přizpůsobit konvencím Nette (a být v cizím kódu jako doma), než zavádět a zvyknout si na vlastní.
Osobně hodlám dál používat I a T prefixy, ale jen ve svém namespace a na ty Nettí si prostě zvyknu.
- Šaman
- Člen | 2662
A s dovolením (vlastně bez něj) se sem vetřu ještě s jedním dotazem
na pojmenování. Konkrétně kořenový namespace aplikace (v Sandboxu
App
).
Používáte ve všech projektech App\Presenters\…
a nebo to
App
je jen zástupné jméno pro název aplikace a hlavní
namespace přejmenováváte (např. Todolist\Preseters\…
)?
- Kamil Valenta
- Člen | 820
Používám „App\“, aby namespace odpovídal adresářové
struktuře.
A také kvůli přenositelnosti, aby se nemusely třídy přejmenovávat nebo
mohly být mezi projekty sdíleny.
Editoval Kamil Valenta (7. 2. 2021 19:52)
- Petr Parolek
- Člen | 455
Teď jsem procházel GitHub přes vyhledávač kodu v hlavní GIT větvi a zjistil jsem, že <s>jen dva</s> pýr FW jsou modní výstřely Nette a PHPixie, viz níže uvedá tabulka:
framework | interfaces | traits | poznámky |
---|---|---|---|
Nette | předpona I- nebo bez předpony | nic | díky za upozornění níže @DavidGrudl |
Aura for PHP | přípona -Interface | přípona -Trait | |
CakePHP | přípona -Interface | přípona -Trait | |
CodeIgniter4 | přípona (v testech bez přípony) | přípona -Trait | |
Laminas | přípona -Interface | přípona -Trait | |
Laravel | přípona -Interface i bez ní | přípona -Interface i bez ní | díky za upozornění níže @DavidGrudl |
PHPixie | žádná předpona a přípona | nemá | |
Slim | přípona -Interface | nemá | |
Spiral | přípona -Interface | přípona -Trait | |
Synfony | přípona -Interface | přípona -Trait | |
Yii2 | přípona -Interface nebo -able | přípona -Trait | namespace s malými písmeny na začátku „složky“ |
Doctrine | přípona -Interface, mnohdy žádná | přípona -Trait, mnohdy bez přípony |
Editoval ppar (15. 2. 2021 0:36)
- David Grudl
- Nette Core | 8227
Samozřejmě mi lichotí, že Nette je v něčem před úplně všemi
ostatními, ale bohužel spíš rešerše není tak dobrá, námátkou
class Mailer implements Mailer, MailQueue, use Macroable
.
- Petr Parolek
- Člen | 455
jaj, Laravel je guláš, míchanice viz https://laravel.com/…erfaces.html a https://laravel.com/…/traits.html
Editoval ppar (14. 2. 2021 18:43)
- David Grudl
- Nette Core | 8227
Tak v tom případě by bylo fér zapsat Nette taky do kolonky že rozhraní a traity značkuje.
- Petr Parolek
- Člen | 455
A joo, tys vlastně někde zachoval prefixy I, opravím
Editoval ppar (15. 2. 2021 0:10)
- Petr Parolek
- Člen | 455
UPDATE: Prošel jsem zdrojové kody a aktulizovat tabulku výše, závěry jsou zajímavé
- Eda
- Backer | 220
Nebudu narušovat diskusi a fight silných názorů. Já jsem silný názor na tohle neměl a asi ani teď nemám. Když budu pracovat na projektu někoho jiného, klidně se v tomto jakkoli přizpůsobím.
Jen bych chtěl napsat, že jsem to zkusil reálně teďka nějakou dobu používat bez přípon a předpon a líbí se mi to čím dál víc. Tak nějak intuitivně cítím, že takto je to správně a užívám si to. Najednou zkrátka odpadlo informační smetí, které tam dřív zavazelo.
Tak to třeba taky reálně zkuste. Třeba změníte názor… :-)
- David Grudl
- Nette Core | 8227
Tento článek jsem psal rok a půl 🤦🏼♂️ konečně hotovo! https://blog.nette.org/…rani-nepatri