Nová podoba jmenných prostorů: finalizace

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Honza Marek
Člen | 1664
+
0
-

David Grudl napsal(a):

PHP je tradičně vytýkána nesourodost v pojmenování tříd a funkcí. Tohle bych do Nette fakt zavádět nechtěl, tj. dávat různá jména podle toho, jako moc cool mi ta která funkce připadá.

To jsem myslel spíš jako podvědomý působení.

ad počet tříd: neříkej, že argument s počtem tříd na tebe neplatí a raději napiš jasný důvod, proč by neměl platit.

níže…

Já chápu namespace jako způsob, jak 1) zabránit konfliktu názvů (to je prefix Nette\)

Já bych za konflikt názvu považoval třeba i situaci Form vs. AppForm, což bych řešil jako Nette\Forms\Form a Nette\Application\Form. Když se tomu nebudeš bránit, takové věci pak začnou vyskakovat na každém rohu.

  1. oddělit nezávislé funkční celky (to je Forms\ nebo Forms\Controls). Jednu třídu jako funkční celek nevnímám.

Proč by jedna třída nemohla být funkčním celkem? Pokud má na starosti jednu specifickou úlohu, je to funkční celek. Počet tříd je implementační detail (i v případě počtu === 1).

Dále: podobnou úlohu jako jmenné prostory plní i statické třídy.

Jen v případě namespacování funkcí, ale to víme.

Nedokázal bych odpovědět na otázku, proč se v Nette píše Nette\Neon\Neon::decode() a ne Nette\Neon::decode().

To fakt chceš udělat Neon parser staticky?

(Nette\Tools\Neon::decode() mi nevadí, ale nemám pocit, že verze bez nebo s Tools by byla v něčem lepší).

To je to, že v namespacu Nette (čili v kontextu frameworku globálním namespacu), by mělo být co nejméně tříd. Nějaké to Object a Framework a skoro šmytec.

Moje představa o ideální situaci je taková, že pro distribuci části frameworku (např. Latte, Debug, Latte + Templates, Neon, Image, Finder, … je toho hodně, co dává smysl i bez zbytku frameworku), by stačilo vytáhnout odpovídající namespace, třídy z namespace Nette a jasné závislosti (pro Latte Tokenizer). Čili jeden jmenný prostor pro každou feature a v tom globálním žádné zbytečnosti :)

redhead
Člen | 1313
+
0
-

Ale stále řešíš tu vnitřní implementaci. Znamená to, že kdybych přepsal způsob, jak Json::decode() dekóduje, měl by tím pádem mít vlastní namespace?

Pokud bys napsal vlastní řešení parsování JSON od podlahy, tak ano. Jako u jakési obalovací (tool) třídy to pro mě postrádá smysl.

Ondřej Brejla
Člen | 746
+
0
-

Pokud by si napsal nějaký hyper parser, o kteŕm by se dalo říct, že je něčím opravdu výjimečný, novátorský, atd, pak asi ano. Koukal bych na to jako na jednu z předností fw a vyčlenil bych to do vlastního ns…asi ano…

Sakra 1 hodina ráno a já nestačím odpovídat, aby mezitím nepřibylo X příspěvků…Asi to nechám na zítra.

Editoval Ondřej Brejla (7. 2. 2011 0:43)

Honza Marek
Člen | 1664
+
0
-

Ještě doplnim, co si myslim o namespace Tools. Považujiho za sklad věcí, který mají tak marginální přínos, že si nezaslouží vlastní namespace. Tedy bylo by sice hezké tomu JSONu ten namespace dát, ale my mu ho nedáme.

Patrik Votoček
Člen | 2221
+
0
-

už se v tom zase začínám orientovat a chápat. a musím říct že souhlasím s Ondrou i Honzou. Hlavně myšlenka „vzít namespace“ se mě hodně líbí (vzhledem možnosti vzniku balíku pro šablony, formuláře, laděnku a další s následnou integrací do něčeho jiného než nette – třeba Drupal).

David Grudl
Nette Core | 8227
+
0
-

Borci, stále odvíjíte namespaces od toho, jak bylo třídu složité napsat, jak je moc „cool“ nebo jak ji vykopírovat. To vidím jako naprosto zcestné. Mou prioritou je spokojený programátor a konzistentní přístup.

Budu se spíš snažit namespace navrhnout tak, aby oddělovaly funkční celky, aby se nevytvářely mezi nimi kruhové závislosti a aby „vyšší“ namespaces nebyly závislé na těch zanořenějších.

Honza Marek
Člen | 1664
+
0
-

Výborně, tak to máme stejné cíle.

Že bych rozlišoval podle složitosti jak něco napsat, toho jsem si nevšim. Do téhle kategorie mi spadá spíš názor, že v namespacu nemá být jedna třída. A s tim vykopírováním – vždyť je přece jasné, že jakmile má smysl něco samostatně vykopírovat, je to samostatný funkční celek!

David Grudl
Nette Core | 8227
+
0
-

Tak zcela reálně: dám Neon do samostatného prostoru. Co vše (konkrétně) bude potřeba k vykopírování? A jak pomohl vlastní NS?

Filip Procházka
Moderator | 4668
+
0
-

Nijak Davide, pokud nebudou části frameworku opravu funkční samostatné komponenty, nemá význam takový argument.
Občas se tu objeví někdo, že by chtěl použít jenom šalbony, routy, debug nebo něco jiného a stejně si musí vykopírovávat Object a ObjectMixin, pak zjistí že v šablonách je použito Html a String, jsou tam různé vyjímky, třeba pro regulární výrazy, atd atd…

Co je špatně na Nette\Syntaxes, Nette\Formats, … kam by se daly tyto encodery (Neon, Json, …)?
A co je špatně na Nette\Types? Vždyť přece neon je typ souboru, json je taky typ souboru a oba pracují s jejich obsahem/formátem, nebo ne? Latte je taky typ souboru. Myslím, že by nebylo od věci vyčlenit tyto třídy pracující s různými typy do samostatého namespace a v rámci pořádku je vyčlenit do složek podle typu, se kterým pracují a klidně je nechat v tom společném namespace.

Ped
Člen | 64
+
0
-

Podle mne pro vykopirovani by bylo nejvhodnejsi zavest dalsi sekci v dokumentaci kde by byl seznam nutnych souboru pro jednotlive zajimave kousky, pripadne i s ukazkou inicializace a pouziti.

(osobne ted v posledni dobe mne nejvice zajimalo jak/co by slo pouzit z Nette pro psani „bezpecneho“ jednoducheho proceduralniho PHP scriptu ktery dela jen jednu vec a mel by ji delat velmi rychle a dobre… to jen tak BTW)

hrach
Člen | 1838
+
0
-

Fakt nevím, jakou přidanou hodnotu pro mě bude mít Nette\Neon\Neon::decode, či Nette\Tools\Neon::decode. Pro ty, pro které to význam má, odkazuji na symfony. David narozdíl od odstatních nad tím přemýšlí. Tyto prvoplánové výkřiky „to je větší, tak si zaslouží vlastní namespace“ jsou fakt dost primitivní. Vždyť to je ta krása na nette, že neřeším jestli cache je dummy, memcache, nebo filecache. Stejně tak nechcu řešit, jestli Davidova implementace jsonu je primitivní, nebo složitější parsovač jako je neon.

Ondřej Mirtes
Člen | 1536
+
0
-

Vykopírovávání bych vůbec neřešil. Nejbezpečnější a nejméně pracné je do skriptu prostě strčit require_once(__DIR__ . '/Nette/loader.php');.

jtousek
Člen | 951
+
0
-

HosipLan napsal(a):

Občas se tu objeví někdo, že by chtěl použít jenom šalbony, routy, debug nebo něco jiného a stejně si musí vykopírovávat Object a ObjectMixin, pak zjistí že v šablonách je použito Html a String, jsou tam různé vyjímky, třeba pro regulární výrazy, atd atd…

Pokud jde o ty závislosti tak by možná mělo smysl udělat něco jako má jQuery UI. Že si člověk navolí, které komponenty chce a ono si to už automaticky dohledá co dalšího je potřeba a pak nabídne ke stažení minified verzi jen toho, co člověk chce. (např. pro statický web jen laděnku a šablony + jejich závislosti jako object)

EDIT: Tyto závislosti by bylo asi nejlepší řešit pomocí nějakých anotací jako @dependency Nette\Object.

Co je špatně na Nette\Syntaxes, Nette\Formats, … kam by se daly tyto encodery (Neon, Json, …)? A co je špatně na Nette\Types?

K umístění Json, Neon a Latte. Návrh Nette\Syntaxes nebo Nette\Formats se mi myšlenkou zamlouvá, ale tyto konkrétní návrhy se mi příliš nelíbí. Trochu víc se mi líbí Nette\Syntax. Žádný vlatsní lepší nápad bohužel nemám.

EDIT:
Rozlišovat Neon a Json podle toho, jak jsou složité a jestli používají nativní PHP fce je dle mého názoru chyba.

Editoval jtousek (7. 2. 2011 12:44)

redhead
Člen | 1313
+
0
-

Pokud jde o ty závislosti tak by možná mělo smysl udělat něco jako má jQuery UI. Že si člověk navolí, které komponenty chce a ono si to už automaticky dohledá co dalšího je potřeba a pak nabídne ke stažení minified verzi jen toho, co člověk chce. (např. pro statický web jen laděnku a šablony + jejich závislosti jako object)

Přesně tohle mě nedávno také napadlo, třebas jenom tu Nette/Database nebudou chtít všichni, dále třeba i různé verze cachí (na projekt se nejspíš použije jen jedna), Image, atd. atd. Rozhodně by se tím ušetřilo nejen místo, ale i nahrávání frameworku do paměti.

Ale to trochu odbíhám od řešení NS. Sorry.

jtousek
Člen | 951
+
0
-

Přesně tak. Napadlo mě to taky už dříve a teď se to hodilo jako reakce. Navíc zrovna nedávno se tu řešilo, že minified verze nefunguje pokud na serveru není PDO (přestože daný web Nette\Database nepoužívá).

Omlouvám se za off-topic. Pokud je tu více lidí, kterým se tento nápad zamlouvá, můžeme otevřít nové téma.

David Grudl
Nette Core | 8227
+
0
-

Dokud má framework 400kB, tak bych asi paušálně propagoval plnou minifikovanou verzi.

westrem
Člen | 398
+
0
-

Dakujem HospiLanovi a jtouskovi (dufam ze to sklonujem dobre) za podporu mojej myslienky s Nette\Syntaxes apod ..

Neviem stale mi pride, ze sa tu viac menej handrkujeme o tom, ze Neon je cool a preto musi mat vlastny NS. Suhlasim s Ondrom Brejlom, ze Neon ma podla mna velky potencial a prinasa nieco hodne dobre a intuitivne ale proste argumenty ktore tu padaju mi pridu nie koser a najviac sa mi pozdava to co vravi a cim argumentuje David.

Tiez nechapem co je zle na Nette\Syntax? Presne to popisuje semantiku toho co v tom bude:

Nette\Syntax\Json::decode();
Nette\Syntax\Neon::decode();
Nette\Syntax\LatteFilter::formatString();

Podla mna prehladny a najme samopopisny kod.

paranoiq
Člen | 392
+
0
-

jtousek napsal(a):

minified verze nefunguje pokud na serveru není PDO (přestože daný web Nette\Database nepoužívá).

nejjednodušší řešení je podmíněná deklarace (falešné) třídy PDO, která na problém upozorní, když chce někdo Nette\Database použít. tak může Nette fungovat minifikované i bez PDO a bez kouskování na víc distribucí

jtousek
Člen | 951
+
0
-

@westrem: Přesně tak. :) Namespace Nette\Syntax mi ze všech doteď navrhovaných možností připadá nejlepší.

@paranoiq: Ano, to už mě taky napadlo (a jsem pro aby tohle ve frameworku bylo). Přesto ale lidi často chtějí pužít jen určitou část Nette a to, že celý framework zabere jen několik KB je moc nezajímá a minified verzi odmítají protože se tam tvoří mnoho tříd, které nepotřebují. Nechci polemizovat nad tím, zda je to dobře nebo špatně, prostě to tak je a jiné řešení než download ala jQuery UI na to asi není.

David Grudl
Nette Core | 8227
+
0
-

Minifikovana verze a PDO je mesic stary vyreseny bug minifikatoru, ne?

buff
Člen | 63
+
0
-

Nette\Syntax → Nette\DSL (domain specific languages)?

Ale jinak by mi asi taky stačil namespace Nette, jak už tady někde padlo :-)

Aurielle
Člen | 1281
+
0
-

DSL mi přijde jako obrovské WTF…

buff
Člen | 63
+
0
-

DSL mi přijde jako obrovské WTF…

LOL. Ale jo, mně v podstatě taky. Byl to jenom rychlý nápad a nějak přeskočil autocenzuru. Ale Syntax mi nepřijde přesné, to byl asi důvod, proč jsem hledal alternativu: chtěl jsem konstruktivní kritiku, ne jako tuhle ;-)

jtousek
Člen | 951
+
0
-

@DG: Aha, jo to je možné, já zrovna tenhle bug nijak nesledoval. :) Jen si pamatuju, že se to tady řešilo.

@buff: Syntax mi taky nepřijde úplně ideální, ale lepší nápad tu zatím nepadl. Díky za návrh, ale DSL opravdu nebude ono. ;)

BigCharlie
Člen | 283
+
0
-

David Grudl napsal(a):

Minifikovana verze a PDO je mesic stary vyreseny bug minifikatoru, ne?

Potvrzuji, nyní otestováno. Ono je to těžké sledovat, v diskusi se nic neobjevilo (napravím), issue na githubu byla uzavřena bez komentáře. Takže jsem jako autor objevení bugu taky žil v domění, že „bude opraveno“.

Pardon za mírný OT.

Dr.Diesel
Člen | 53
+
0
-

Asi budu pravdepodobne dle diskuse sam, ale nechapu, proc se opet travi cas prejmenovavanim namespacu, presouvanim souboru apod.
https://github.com/…2a608567b329
Zneplatni se dosavadni konvence, samply, code-snippety apod., i kdyz budou zmeny zpetne kompatibilni = Opet se to zacne cele stepit, tak jako doposavad 0.9 vs. 1.0 (2.0) Pri kazdem dotazu bude muset resit, kterou PRESNE verzi ma dany vyvojar v projektu. Cilem je pravdepodobne na jednu stranu poradek a „citelnost“, z myho pohledu je to vec, co mi na Nette vadi – Neustale zmeny/prekopavani/prejmenovavani stavajiciho vs. Rozsirovani+rozvoj / fixy…

Editoval Dr.Diesel (10. 2. 2011 22:38)

Ginny
Člen | 36
+
0
-

Dr.Diesel napsal(a):

Asi budu pravdepodobne dle diskuse sam, ale nechapu, proc se opet travi cas prejmenovavanim namespacu, presouvanim souboru apod.
https://github.com/…2a608567b329
Zneplatni se dosavadni konvence, samply, code-snippety apod., i kdyz budou zmeny zpetne kompatibilni = Opet se to zacne cele stepit, tak jako doposavad 0.9 vs. 1.0 (2.0) Pri kazdem dotazu bude muset resit, kterou PRESNE verzi ma dany vyvojar v projektu. Cilem je pravdepodobne na jednu stranu poradek a „citelnost“, z myho pohledu je to vec, co mi na Nette vadi – Neustale zmeny/prekopavani/prejmenovavani stavajiciho vs. Rozsirovani+rozvoj / fixy…

Palec nahoru. A je nás víc.

Jan Jakeš
Člen | 177
+
0
-

Ginny napsal(a):

Dr.Diesel napsal(a):

Asi budu pravdepodobne dle diskuse sam, ale nechapu, proc se opet travi cas prejmenovavanim namespacu, presouvanim souboru apod.
https://github.com/…2a608567b329
Zneplatni se dosavadni konvence, samply, code-snippety apod., i kdyz budou zmeny zpetne kompatibilni = Opet se to zacne cele stepit, tak jako doposavad 0.9 vs. 1.0 (2.0) Pri kazdem dotazu bude muset resit, kterou PRESNE verzi ma dany vyvojar v projektu. Cilem je pravdepodobne na jednu stranu poradek a „citelnost“, z myho pohledu je to vec, co mi na Nette vadi – Neustale zmeny/prekopavani/prejmenovavani stavajiciho vs. Rozsirovani+rozvoj / fixy…

Palec nahoru. A je nás víc.

Palec dolu. Zachovávání BC brzdí vývoj a podle mě do verze 2.0 prostě nepatří žádné konstrukce, které by měly být zachovány jen z historických důvodů. Konzervatismus tohoto typu je podle mě velmi špatná vlastnost pro vývoj moderního SW.

jtousek
Člen | 951
+
0
-

Juan napsal(a):

Ginny napsal(a):

Dr.Diesel napsal(a):

Palec nahoru. A je nás víc.

Palec dolu. Zachovávání BC brzdí vývoj a podle mě do verze 2.0 prostě nepatří žádné konstrukce, které by měly být zachovány jen z historických důvodů. Konzervatismus tohoto typu je podle mě velmi špatná vlastnost pro vývoj moderního SW.

Palec nahoru. x)

Verze 2.0 je přelomová. Při jejím vývoji už bylo BC breaků hodně a pokud je to pro dobro věci tak ať jich je klidně dvojnásobek. Osobně si myslím, že by se z frameworku před vydáním v2.0 mělo odstranit všechno, co v něm je jen z historických důvodů (např. vše, co je označené jako deprecated – pokud něco takového ve frameworku ještě straší).

Dr.Diesel
Člen | 53
+
0
-

Juan napsal(a):

Palec dolu. Zachovávání BC brzdí vývoj a podle mě do verze 2.0 prostě nepatří žádné konstrukce, které by měly být zachovány jen z historických důvodů. Konzervatismus tohoto typu je podle mě velmi špatná vlastnost pro vývoj moderního SW.

  1. verze 2.0 je „pokracovani perpetual beta“ verze 1.0, posledni stable release ma smesny datum vydani
  2. konzervativismus se mozna nevyjima do urcity velikosti projektu, od urcity velikosti je naopak na miste, protoze neustale upravovat to samy (aby clovek nebyl z toho merge pak na hlavu) bez konkretniho zduvodneni je neobhajitelny naklad
  3. toto „usporadavani“ vede IMHO k tomu, ze sice fw jako celek je „vic v poradku“, ale mezi projekty je bordel v tom, ze na kazdem mas jinou verzi, ktera se chova jinak a ma „trochu jiny nazvoslovi“
  4. to neresim pripad, kdy lidi maji svuj fork Nette se svymi upravami a merguji upravy z masteru
  5. nimrame se tu v prkotinach a tocime se totalne na miste, misto aby se pokracovalo ve feature requestech a fixech, o ktere prosi lidi z komunity v Changelog sekci a nabizi i donation.

Ke kazdemu bodu IMHO, no flame.

jtousek napsal(a):

Palec nahoru. x)

Verze 2.0 je přelomová. Při jejím vývoji už bylo BC breaků hodně a pokud je to pro dobro věci tak ať jich je klidně dvojnásobek. Osobně si myslím, že by se z frameworku před vydáním v2.0 mělo odstranit všechno, co v něm je jen z historických důvodů (např. vše, co je označené jako deprecated – pokud něco takového ve frameworku ještě straší).

Na ktere verzi mam podle tebe v takovem pripade nyni zalozit Nette projekt, abych ho jenom behem vyvoje 10× neprepisoval?…

Editoval Dr.Diesel (10. 2. 2011 23:49)

hrach
Člen | 1838
+
0
-

Juan: ty si zase přiletěl asi z měsíce, že? Moderní software, kde?
Protože Nette na to nevypadá. Fungující věci v něm byly zrušeny a nové nefungují.
A nebojme se být konkrétní. Snipety. Context – obsahoval víc než tři měsíce vážný bug.

Dalších x věcí je neustále předěláváno, přejmenováváno (latte, imagick, namespacy).
Dalších x věcí chybí: nějaká rozumná podpora – lokalizace routeru, vlastní template.

Něříkám, že tyto změny nejsou třeba, říkám, že v tuto chvíli je to opravdu to poslední, co brání stát se nette „moderním softwarem“.

Editoval hrach (10. 2. 2011 23:56)

hrach
Člen | 1838
+
0
-

Verze 2.0 je přelomová.

jop, tak to je pravda, to co fungovalo včera už dneska nefunguje

jtousek
Člen | 951
+
0
-

Dr.Diesel napsal(a):

Na ktere verzi mam podle tebe v takovem pripade nyni zalozit Nette projekt, abych ho jenom behem vyvoje 10× neprepisoval?…

Samozřejmě na aktuální stable verzi.

Dobře tak ne. :) Já sám vyvýjím na alpha verzích. A ano, také jsem během vývoje framework asi 10× mazal, dával tam novou verzi a následně řešil nekompatibility. A ano, taky mě to vadí.

Vzhledem k tomu, že se ve frameworku chystají velká změny (např. namespaces, formuláře) jsem se poté rozhodl framework zmrazit a už jsem jej neupdatoval. Není nutné aby projekt fungoval na finální 2.0 tak proč to pořád řešit? Když tam byla nějaká kritická chyba tak jsem ji opravil ručně. A taky mě to stálo některé nové featury, ale to zas tak nevadí. Celé to považuji za riziko, které jsem na sebe dobrovolně vzal, když jsem se rozhodl použít alpha verzi. A nemám s tím problém.

Dle mého názoru se už dávno měla vydat ostrá větev 1.0, sice ne se všemi plánovanými novinkami, ale prostě aby byla novější stable než prastará 0.9. Bohužel se tak nestalo, takže se musíme spokojit s alpha verzemi. Mě osobně to zas tolik nevadí a rozhodně nechci brzdit vývoj kvůli zpětné kompatibilitě apod. Zpětná kompatibilita v alpha verzích funguje tak 10–50 commitů dozadu a IMHO je to tak správně.

Takže závěr: Nechceš problémy? Použij stable. Chceš nové funkce? Použij alpha, ale uvědom si, že alpha je alpha.

hrach napsal(a):

Verze 2.0 je přelomová.

jop, tak to je pravda, to co fungovalo včera už dneska nefunguje

I tak se to dá říct. XD Řešení: použij včerejší verzi. ;)

Editoval jtousek (11. 2. 2011 0:15)

hrach
Člen | 1838
+
0
-

Takže závěr: Nechceš problémy? Použij jinej framework.

„Né, to přecé nééé, nettééé je cool a dobré.“ Takže, řekněme si to na plnou hubu, David si nás prostě ochočil jako své nette ovce. Udělal kvalitní kus softwaru a v poslední době se tomu ne příliš věnoval, respektive hodně slíbil, ale zatím jsme se nedočkali. Jsme ovce a proto voláme na svého pastýře: „pastýři, co pro nás uděláš?“ Pastýř nic neříká a ty jako jeho syneček místo něj křičíš:

  1. „jděte žrát to starý seno“
  2. „nebo si žerte to nový s těma hřebíkama.“

S tímto přístupem bohužel stádo nevychováš.

Editoval hrach (11. 2. 2011 0:22)

Jan Jakeš
Člen | 177
+
0
-

Pánové, tohle už je flame na zamčení. Ale jak říká jtousek, vyžadovat 100% stabilitu a zpětnou kompatibilitu od vývojové verze není zrovna normální :)

David Grudl
Nette Core | 8227
+
0
-

Naříkáte krásně, co místo toho poslat patch?

Dr.Diesel
Člen | 53
+
0
-

jtousek napsal(a):

Dr.Diesel napsal(a):

Na ktere verzi mam podle tebe v takovem pripade nyni zalozit Nette projekt, abych ho jenom behem vyvoje 10× neprepisoval?…

Samozřejmě na aktuální stable verzi.

Dobře tak ne. :) Já sám vyvýjím na alpha verzích. A ano, také jsem během vývoje framework asi 10× mazal, dával tam novou verzi a následně řešil nekompatibility. A ano, taky mě to vadí…

Proste mi to cim dal vic pripomina akademickou pudu odtrzenou od reality. „Tohle pojmenovani uz nas tam dlouho stvalo, tak prejmenujem pres 70 souboru a jejich namespacu (bez testu, viz commit) a hned je co delat“.

Abych nepusobil nevdecne, s Nette si od 1.0a pomerne rozumim a pri vyvoji mi prakticky nic nechybi, novy „rychlejsi zapisy“ nebo „prehlednejsi pojmenovani“ me nepali a co jsem potreboval si upravil / dopsal.

Nekdy to byl wow efekt (predevsim komponentovy model),

nekdy hardcore WTF efekt (zamykani veskereho generovani cache, kdyz se v CELE APLIKACI generuje jina (ne ta sama) https://forum.nette.org/…e-v-aplikaci – vysledna odpoved je tristni)

Dr.Diesel
Člen | 53
+
0
-

David Grudl napsal(a):

Naříkáte krásně, co místo toho poslat patch?

Patch na zpetne prejmenovani?…

Juan napsal(a):

Pánové, tohle už je flame na zamčení. Ale jak říká jtousek, vyžadovat 100% stabilitu a zpětnou kompatibilitu od vývojové verze není zrovna normální :)

Ucelem diskusniho fora je imho diskuse, ktera bohuzel v tomto pripade probiha nejspis pozde. Diskutuje se navic k veci, stale se resi prejmenovavani a tomu podobny „vyvoj“, revertnout to uz pude asi tezko (byl bych navic urco velice popularni :-D ).

Reknu to jinak – Kam se timhle Nette posunulo …?

hrach
Člen | 1838
+
0
-

Davide, já osobně:

  • Context: předtím to fungovalo a neměl jsem problém. neměnil bych (bohužel já vydělávám tím, že to funguje, firma mi nic neda za to, že je to DI… :()
  • Snippety: předtím to fungovalo (byť magicky), teď nefunguje, nevím jak opravit. neměnil bych, dokud bych nevymyslel, jak zachovat funkčnost.
  • Nové formuláře: slíbil si, že je o víkendu zveřejníš, buď to máš naprogramovaný a jen jsi to z nějakého důvodu nezveřejnil, nebo to naprogromavaný nemáš. Pokud se jedná o variantu a, přijde mi zbytečné posílat patch, pokud se jedná o variantu b, řekni, zkusím navrhnout vlastní změny formulářů myšleno vážně.
  • Nette\Debug\Debug vs Nette\Diagnostics\Debug neměnil bych,

atp… posilat revert patche asi nema cenu :D

Editoval hrach (11. 2. 2011 0:41)

Dr.Diesel
Člen | 53
+
0
-

hrach napsal(a):

  1. „jděte žrát to starý seno“
  2. „nebo si žerte to nový s těma hřebíkama.“

S tímto přístupem bohužel stádo nevychováš.

LOL to je moc. Hanzi ty taky uz zmen dealera :-DDD

Editoval Dr.Diesel (11. 2. 2011 0:40)

Jan Jakeš
Člen | 177
+
0
-

Reknu to jinak – Kam se timhle Nette posunulo …?

Jednou z nejlepších vlastností vývojáře je perfekcionismus. Toho je v Nette vidět spoustu a proto je to tak dobrý produkt. Tyhle názory mi připomínají prvotní protesty proti n:atributům v šablonách. A jak jsou teď užitečné…

A už se na ten flame fakt vykašlete.

Dr.Diesel
Člen | 53
+
0
-

Juan napsal(a):

Reknu to jinak – Kam se timhle Nette posunulo …?

Jednou z nejlepších vlastností vývojáře je perfekcionismus. Toho je v Nette vidět spoustu a proto je to tak dobrý produkt. Tyhle názory mi připomínají prvotní protesty proti n:atributům v šablonách. A jak jsou teď užitečné…

A už se na ten flame fakt vykašlete.

Perfekcionismus je luxus, kterej si v dnesni dobe muze maloktera spolecnost dovolit. A „prehrabavani“ funkcniho celku z perfekcionistickych pohnutek bez ohledu na dusledky je pro Nette imho skoda, protoze ve svete (coz je Daviduv cil dle jeho slov) nema s timto sanci. Dal – testovani Alpha verzi je potreba, ale kdyz na ni projekty neupgraduji, protoze je to „bezduvodny vopruz“, testuje se to stale jen na nove zakladanych projektech nebo relativne malych (ve vetsine, nikoli vyhradne), coz je taky skoda… Treba se ale mylim.

n: syntax v sablonach nic nerozbourava, ale pridava. Nechces, nepouzivej, to je jiny pripad. Zpatky na zacatek – resim jen ten jeden commit plny prejmenovanych souboru – priprava na nove namespacy, ne commity kde se alespon neco meni.

Editoval Dr.Diesel (11. 2. 2011 0:59)

David Grudl
Nette Core | 8227
+
0
-

Tak buď můžete věcně řešit konkrétní věci (na Context něco nefunguje? vytvoř vlákno, napiš co), nebo nesmyslně naříkat (chceme nové formuláře vs. nechceme, aby se něco měnilo) či dokonce vytvářet FUD (někoho se dotklo nějaké přejmenování třídy?), volba je na vás ;-)

Dr.Diesel
Člen | 53
+
0
-

David Grudl napsal(a):

Tak buď můžete věcně řešit konkrétní věci (na Context něco nefunguje? vytvoř vlákno, napiš co), nebo nesmyslně naříkat (chceme nové formuláře vs. nechceme, aby se něco měnilo) či dokonce vytvářet FUD (někoho se dotklo nějaké přejmenování třídy?), volba je na vás ;-)

Prevezmu to za Hanze, uz je off

  • Context funguje, stejne jako fungoval ServiceLocator, afaik to myslel takto
  • Chceme aby se menilo+pridavalo ⇒ implementace feature requestu + reportovanych bugu
  • „Dotklo“ se to prejmenovani me, tu flame sem zacal ja. Povazuju to za nesmysl, se kterym se bude travit cas jak v Nette (nahrazovani stavajicich trid – predpokladam pregenerovani ale i tak je to PLYTVANI tvoji energii a casem), tak v aplikacich, ktere to pouzivaji (at uz nesmyslne pridavani aliasu nebo opet pregenerovavani / prepisovani)

Diskusi teoreticky muzem nekam vyclenit, jestli v tomto vlakne prekazi, ale stale to povazuju za diskusi, byt negativni. Treba sem https://forum.nette.org/…im-nette-1-0 , pripadne zalozit „Jak je to s finalnim Nette 2.0“ .

Tenhle konkretni problem je uz asi rozjety vlak, ktery uz revertovat nema smysl. Chtel sem ale pripomenout, ze tu cekaji podstatne problemy / feature requesty / prislibene commity novych uprav , na ktere cekaji zase dalsi Nettisti. +aby se tim priblizoval release 2.0 a ne staly refactoring 2.0… Ja sam jsem na svych projektech par veci otestil a reportoval nektery Issue s fixem. Ted se priznam ze nemuzu, protoze uz aktualni nepouzivam a mergovat se mi to nechce…

David Grudl
Nette Core | 8227
+
0
-

implementace feature requestu + reportovanych bugu

Tak posílejte patche. Je to snadné.

Dr.Diesel
Člen | 53
+
0
-

Ok Davide:

  • ale Honza uz psal, ze posilat patch na neco, cos avizoval k vypusteni (formy) je nesmysl
  • novy snippety jsou imho fail (no offense), protoze v ridicich strukturach to proste chodit nebude, coz byl ucel zavinacu starych snippetu dle toho co to generovalo } if (...$outputAllowed) { ...
  • ja osobne prave z duvodu techhle zivelnych uprav (70 trid/souboru jen tak prejmenovanych, jako sorry…) bohuzel neudrzim aktualni Nette v provozu, abych ho mohl alespon testovat / pripadne patchovat. Jednak ve stavajici verzi nefunguji podstatne veci (napr. stare snippety nebo nove v ridicich strukturach) a jednak mi tyhle bezduvodne upgrady neprojdou kvuli casu a penezum.

EDIT: BTW Velmi se omlouvám za psaní bez diakritiky, pozdě jsem si uvědomil že na Nette foru je vyžadovaná.

Editoval Dr.Diesel (11. 2. 2011 1:36)

David Grudl
Nette Core | 8227
+
0
-

To jsou samé nářky a výmluvy, až to liská. Naříkáš, že ti chybí nějaká featura nebo oprava bugu, ale když řeknu „pošli patch“, tak to totálně překroutíš někam jinam. Šíříš tady FUD, jak se přejmenovávají třídy, ale žádné se nepřejmenovaly. Že „plýtvám“ svým časem na komity, které neshledáváš užitečnými? No a? Nejsem tvůj zaměstnanec. A už vůbec se nenechám buzerovat, diktovat si, co mám nebo nemám dělat, podle nějakých dojmů.

Dr.Diesel
Člen | 53
+
0
-

Davide ok, celý to jako flame z mý strany vedený nebylo. Výkřiky čí jsi nebo nejsi zaměstnanec jsou imho mimo a nechápu je. Třídy se nepřejmenovaly, přejmenovávají se namespacy, ok. Další „diskuse“ je asi bezpředmětná, přesto dík za tvůj čas.

Petr Motejlek
Člen | 293
+
0
-

Ahojky. Taky se přídám, ať zábava nestojí ;). V následujícím textu používám slovo uživatel a mám tím na mysli člověka, co pracuje s Nette, takže vlastně vývojáře. Ale uživatel se mi zdá hezčí ;).

Vývoj Nette, jak doteď probíhal, celkem beru. Nevidím do toho tak hluboce, abych, jako někteří z diskutujících, mohl říct, že se některými změnami spíš přidělávají nové problémy, než řeší staré. O to tu ale ani tolik nejde.

Je potřeba si uvědomit, že vzhledem k tomu, že Nette není vyloženě komerční záležitost, tak se nové featury a opravy chyb neodvíjejí tolik od požadavků uživatelů, ale spíš od toho, co zrovna vývojáře Nette nejvíc v danou chvíli pálí. Tohle není myšleno nijak negativně, jen to chci zdůraznit pro ty lidi, kteří si to neuvědomují.

Pokud skutečně někdo potřebuje, aby se na nějaké nové feature, případně opravě chyby, pracovalo, tak to buď musí udělat sám, nebo to na někoho splašit a případně tomu někomu i zaplatit. Nevím, jak by se k tomu stavěl třeba David, a jestli to už třeba není nějak řešené, ale napadá mě, že by nebylo úplně od věci, kdyby se dalo pro feature requesty/opravy chyb nějak hlasovat, příp. je nějak finančně dotovat, aby bylo vidět, co komunita vážně chce/nechce…

Já vím, že na ten předchozí odstavec je jasná reakce „Open Source SW nemusí nutně reflektovat podněty jeho uživatelů“, která to celé ukončí. Ale já si myslím, že dneska už je i Nette v takovém stavu, že by se na podněty uživatelů měl brát ohled. Zkuste se nad tím všichni zamyslet ;).

Aby tenhle příspěvek nebyl úplně off topic, tak se ještě zastavím u těch namespaců. Jako uživateli mi je úplně jedno, jak to v danou chvíli bude vypadat. Jestli bude třída Neon prostě \Nette\Neon, nebo \Nette\Classes\Parsers\Neon\Neon, nebo \Nette\Neon\Neon, …. Stejně si na začátku souboru udělám use …, nebo mi to IDE napoví. Samotný fakt, že se něco přejmenuje, mi vážně tolik nevadí. Nevím, jaký konkrétně k tomu byl důvod. Jestli to bylo víceméně akademické, nebo to mělo nějaký hlubší smysl. Stále se to ale provádí v alpha verzi a až vyjde stable 2.0, tak předpokládám, že do 3.0 se zpětná kompatibilita u ničeho porušovat nebude. Výjimkou je samozřejmě nějaká vývojová větev.

Editoval Petr Motejlek (11. 2. 2011 12:12)

Cifro
Člen | 245
+
0
-

Vždy keď čítam tu na fore takéto vašnivé diskusie tak stále ma napadne, že prečo si tí čo sú proti a niečo im stále vadí neurobia vlastný fork Nette? Veď je to open-source… A vývoj budú mať vo svojích rukách, pridajú také fičury, ktoré ich vlastný FW má už dávno a lepšie atď…