Latte: Pojmenování značek a velká písmena

David Grudl
Nette Core | 7419
+
0
-

Do Latte 2.9 přijde nová značka {ifchanged}, viz popis.

Název je do uvedení ostré verze pracovní, ale myslím že výstižný. Nad čím ale váhám je velikost písmenek. Tj. ifChanged vs ifchanged. (Btw značky jsou v Latte case sensitive.)

Všechny vlastní značky v Latte mají druhé slovo velkým písmenem:

  • continueIf
  • breakIf
  • skipIf
  • contentType
  • varType
  • varPrint
  • templateType
  • templatePrint
  • snippetArea

Víceslovné značky, u kterých jde o přejatá klíčová slova z PHP, jsou malým, protože tak je to nejpřirozenější:

  • foreach
  • elseif

Latte ještě doplňuje podmínky o dvě vlastní značky ifset a elseifset, které jsou ovšem taky malým kvůli konzistenci s elseif.

A značka ifchanged je opět podmínkou… A teď jsem fakt na rozpacích, s čím být konzistentní… :)

Otázkou je i varianta n:atributu. Z možností n:ifchanged, n:if-changed nebo n:ifChanged odpovídá HTML zvyklostem první varianta. Nebo použít jinou?

Kamil Valenta
Člen | 333
+
+4
-

S ohledem na „ifset“ mi dává „ifchanged“ smysl. A tím i u n: atributu.

Gappa
Nette Blogger | 160
+
+2
-

Latte beru primárně jako HTML kontext a tam je IMHO zvykem psát vše lowercase nebo dash-case pro lepší čitelnost víceslovných názvů.

A hlavně když jsem poprvé viděl skipIf, tak jsem to četl jako SKIPLF a ne SKIPIF :)

Editoval Gappa (9. 11. 2020 20:49)

Šaman
Člen | 2528
+
+3
-

Nejprve jsem byl pro camelCase, pak lowercase a už jsem došel to takového zenového stavu, že mi je to vlastně jedno. Ne, že by to bylo důležité, jen jsem vám to chtěl říct. :)
Html zápis ale prosím bez pomlčky, když se nepoužívá nikde jinde.

Milo
Nette Core | 1175
+
+6
-

Důvod nevím, ale líbí se mi nejvíc ifChanged a to pro obě varianty.

Možná ve mně PhpStorm povzbuzuje obsesi, jak všechno nespisovné podtrhává :-)

Tomáš Jacík
Člen | 145
+
-4
-

A nebylo by ideální udělat všude obě varianty, tedy aby to bylo case-insensitive?

Václav Pávek
Backer | 84
+
+1
-

Těžko říci, ale asi bych preferoval lowercase. ifchanged je pak velmi blízké onchange v HTML kontextu.
continueIf, breakIf a skipIf bych také zapisoval lowercase. Ale kdyžtak nikomu nic nebrání si napsat vlastní macra.

Pavel Kravčík
Člen | 1016
+
+1
-

ifChanged & n:ifchanged – důvod proč se mi to líbí napůl netuším. :)

Editoval Pavel Kravčík (10. 11. 2020 11:10)

paranoiq
Člen | 390
+
0
-

když jsi „kompatibilní“ s PHP, tak ti to rozhodování usnadním – prostě buď pořádně kompatibilní :] PHP je case insesitive: https://3v4l.org/bb0ug

edit: odteď budu v PHP programovat nahlas, jako v SQL ^_^

edit2: ohledně pomlček nevím. jak se ten problém vyřešil v roce 1990? 🤔

Editoval paranoiq (10. 11. 2020 11:26)

dsar
Backer | 18
+
+1
-

ifchanged

Šaman
Člen | 2528
+
-1
-

A byl by to problém upravit na case insensitive? Jako teoreticky je to zpětně nekompatibilní, protože si někdo mohl(?) vytvořit vlastní makro třeba {continueif}, ale myslím, že ta pravděpodobnost je velmi nízká. Nová makra by pak mohla být insensitive a stará by jimi mohla stát při nějaké větší verzi.

dakur
Člen | 191
+
+4
-

Já nevím, ale ještě nebylo zmíněno, že existuje n:ifcontent, který má stejný „casing“ jako n:ifchanged, a dále n:tag-if, který je zase rozdílný. Možná tedy popsat sémantiku jednotlivých zápisů a podle toho se rozhodnout?

Editoval dakur (10. 11. 2020 15:40)

Václav Pávek
Backer | 84
+
-1
-

Když se podívám na seznam tagů/maker tak bych preferoval case insensitive nebo lowercase (možná vyjimka pokud makro končí na if). Makro n:tag-if (jak zmínil @dakur) má úplně odlišný název a proto by si zasloužilo asimilovat (alespoň skrze normalizovaný alias).

Trošku mi to připomíná debatu zda odsazovat mezerami či taby, nebo film Slavnosti sněženek.