Jak nazívat proměné? mojePromena nebo moje_promena
- pawouk
- Člen | 172
Já vím, že co člověk to názor, ale mě to strašně rozčiluje tak snad mi někdo pomůže. V PHP aplikaci používám rozhodně mojePromena, ježne v databazi použivám moje_promena a když použiji např. Nette\Database tak se do aplikace dostava skutečný název (tedy moje_promena) a tím je v aplikaci chaos, protoze je to napůl. A to mě právě rozčiluje. Takže vidím dvě řešení:
- přepsat názvy tabulek a sloupce v db s velkými písmeny. Problémy jsou dva, jednak to může zlobit, protože to závisí na nastavení MySQL a druhak u formulářových prvků nazývám proměné vždy s podtžitkem (nevím zda by nedělali problém ve formuláři velká písmena?)
- druhé řešení je nečakně psát v aplikaci podtržítka, ale to mi přijde ještě horší. Metoda getMoje_promena() je mi opravdu nesympatická, nicméně tato nekonzistentnost mě už opravdu nebaví. Máte někdo řešení?
Editoval pawouk (2. 8. 2011 19:41)
- Filip Procházka
- Moderator | 4668
Nešlo by v Nette\Database
nějak nastavit, aby převáděl
foo_bar
na fooBar
?
- pawouk
- Člen | 172
arron napsal(a):
A co treba zacit psat vsechny promenne konzistentne skrz celou aplikaci a databazi? Pokud budes tu konzistenci opravdu udrzovat, tak pak Te rozlisovani velikosti pismen IMHO vubec nemusi trapit. A bude po problemu:-)
Moc nechápu jak to myslíš, jak jsem psal obě varianty mají své silné nevýhody (se zachováním technologií).
- Cifro
- Člen | 245
S tým pomenovávaním mam večný problém aj ja. V MySQL sa mi zdá, že stlpčeky môžeš mať camelCase a tak aj ostávajú pri používaní v PHP ale tabuľky sa stále prevádzajú na lowercase, takže v názve tabuľky treba podtŕžitko.
Inak regexp na ten prevod je aj v Nette kvoli actionName → url-name
https://api.nette.org/…ute.php.html#669
Editoval Cifro (3. 8. 2011 10:21)
- arron
- Člen | 464
pawouk napsal(a):
Moc nechápu jak to myslíš, jak jsem psal obě varianty mají své silné nevýhody (se zachováním technologií).
Kdyz budes pouzivat vsude stejny zapis a mysql si to prevede na mala pismena, tak Te to nezajima ne? Mysql si s tim udela co chce, ale pokud to udela pokazde stejne, tak dostanes vzdy spravny vysledek. V nazvech tabulek to muze byt problem, protoze je to neprehledne, ale tam ta podtrzitka vlastne nevadi. Nazvy sloupecku delam uz nejakoku dobu camelCase a nikdy jsem s tim zadny problem nemel.
Editoval arron (3. 8. 2011 11:02)
- Nox
- Člen | 378
Momentálně mám taky vše camelCase / PascalCase (z nemalé části následuju https://doc.nette.org/…ing-standard), včetně databáze a není problém (používám Doctrine2 ORM a ODM)
Určitě bych se zkusil mrknout jestli tvůj nástroj pro připojení k DB nepodporuje alternativní styl názvů – afaik v NotORM to je, tudíž v Nette\Databaze (což je taková upravená verze) by to mělo být taky
Nesouhlasím ovšem se „začni používat ORM“ – nasadit ORM jen kvůli coding standardu je overkill, takové rozhodnutí by se mělo zakládat na architektuře a povaze projektu
- pawouk
- Člen | 172
No s tou databází je to jen risk, netvrdím že camelCase v db nemůže fungovat, asi většinou funguje, ale zrovnatak se může stát že to fungovat nebude. Jak jsem psal lze to poměrně snadno nastavit (administrátorem serveru). Takže pro klasické weby, u který nění jisté na kterém hostingu skončí „jistota“ to psát z podtržítky.