Nette – Programmer's Re­ference Guide

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

PRG je poslední částí dokumentace – jedná se o jakýsi hybrid mezi API a TDG. Jeho poslání David dobře vyjádřil takto: „Pokud programátor víc že existuje třída Nette/String, ale neví jak ji přesně použít, pak se podívá do PRG“. Jinými slovy PRG neseznamuje čtenáře s tím, že něco existuje, nebo s tím že když chci vývíjet v Nette, musím vědět co je to to a to (přesně tohleto dělá QS a TDG). – PRG je rozdělen dle jednotlivých tříd a funkčních celků tak, že je možné nalézt jednotlivé části (vlastně tak ja kje rozdělena současná dokumentace k Nette). U každé části programátor najde, k čemu daná část je, jak se správně používá a příklad – a odkaz do API, či TDG. Taktéž tam najde Úplný popis toho co ta část umí – to v TDG být uvedeno musí také – ale tam to nemusí být na jednom místě (příklad: TDG je rozdělen na Začínáme, Pro pokročilé a Pro experty a ve všech třech částech povídá něco o Nette/Forms – tudíž je v TDG popis Nette/Forms rozdělen dle obtížnosti/detailnosti/whatever – v PRG oproti tomu je všechno o Nette/Forms hezky na jednom místě).

Měl by:

  • Obsahovat všechny informace o všech popisovaných komponentách
  • Umožňovat, aby čtenář našel co potřebuje a nezatěžovat ho informacemi, které ho v tu chvíli nezajímají
  • Jednotlivé části by měly být unifikovaně rozděleny – ve smyslu, že popis všech komponent bude sestávat z nějakých částí – např.: Úvod, Účel, Popis, Kdy použít, Jak použít, Příklady, Schopnosti, …

Neměl by:

  • Se snažit nahradit TDG – je to opět jiný druh dokumentace…

Co si vy myslíte o Nette PRG? – Co byste doplnili/upravili/změnili na jeho aktuální podobě?

kravčo
Člen | 721
+
0
-

Myslím že PRG je jedna z prvých vecí, na ktorých sa môže okamžite začať pracovať, keďže jej podoba sa oproti terajšej dokumentácii veľmi nezmení, a zároveň verím, že jej obsah bude o triedu lepší.

Podľa mňa je jedným z problémov štruktúra:

Delenie podľa tried by bolo dobré poupraviť na delenie podľa funkčných celkov – zmeny nebudú zásadné, niektoré veci (možno) spojiť, niektoré rozdeliť. Mňa osobne irituje napr. desaťstranová dokumentácia Nette\Application\Presenter, ktorá ma odradí hneď na začiatku. Myslím, že je rozumné rozdeliť ju na menšie celky.

Hlavné témy by podľa mňa mali byť:

  • Debug
  • Environment & Config
  • Forms
  • Application (nabitá časť)
  • Templates
  • Caching
  • Thread Safe Files
  • Autoloading
  • Authentication and User Rights
  • Web Stuff (Nette\Web je taký mix kadečoho)
  • Image Handling

Navyše nejaká dokumentácia čriev frameworku by si tiež zaslúžila odrážku:

  • The Core (Object, Component, Collections, …)

Odkazy na konkrétny popis triedy/skupiny tried by mali byť duplicitné – tam kde tro má zmysel, čím by bolo ľahšie vyhľadanie, napríklad Application/Integrating FormsForms/Integrating in Applications.

Honza Marek
Člen | 1664
+
0
-

V zásadě souhlasim, ale názvy sekcí bych dával česky (nejsou to názvy tříd). Například Thread Safe Files podle mě zase není tak důležité, aby to zasloužilo hlavní sekci (hlavně, že cache se o to stará samo a data se ukládají do databáze). Naopak by byla určitě zajímavá sekce Ajax, protože o tom chce každý něco vědět.

kravčo
Člen | 721
+
0
-

Určite najprv vznikne česká verzia – samozrejme názvy budú česky, mal som pocit, že takto je jasnejšie, čo je ich obsahom… Ktoré sekcie to budú je samozrejme na diskusiu…

Ja si Nette\IO\SafeStream neviem predstaviť v nijakej inej sekcii, preto som mu vytvoril samostatnú – opäť na diskusiu…

Inza
Člen | 330
+
0
-

Jo, zatím to vypadá dobře, mám k tomu pár připomínek a nápadů. Také jsem vymyslel z čeho by se jednotlivé části – resp. každá část PRG měla skládat, ale postnu to až zítra – je to na větší post a dneska mám šíleně věcí do školy co musím ještě poladit – ale jinak moc dík, že se to začíná hezky řešit;-)…

David Grudl
Nette Core | 8218
+
0
-

Troška kacířství – mrkněte, jak šikovně sloučili Programmer's Reference Guide & The Definitive Guide páni Railisté: http://guides.rubyonrails.org/

Zase jsem znejistěl, jestli skutečně potřebujeme tyto dvě dokumentace a nestačila by jedna. Navrhoval bych to ještě důkladně zvážit.

Také jejich API je inspirující http://api.rubyonrails.org/ – myslím to úvodní povídání u tříd http://api.rubyonrails.org/…er/Base.html nebo příklady u metod. Jen to chce vymyslet, jak dokumentaci generovat, přecejen podobné věci do PHP souborů tahat nechci. Řešením by asi bylo propojení s webovou wiki, třeba obsah https://nette.org/api/Nette/Object by se zobrazoval na příslušené stránce na api.nette.org.

Inza
Člen | 330
+
0
-

Ad David:
Já bych se toho nebál. Na RoR doku jsme koukal a podle mě jsou dvě dokumentace třeba – je skutečně plno věcí, které patří do jednoho v tom druhém by být neměly…

Většinově je to z pohledu že v TDG bude uvedeno víc lidsky čitelné omáčky. PRG má být efektivní cesta.

Já jako programátor nechci aby mi v PRG bylo vysvětlováno, co a jak TDG se bude číst jednou (jako že si ho obvykle přečtu jen jednou). PRG budu používat jako referenční příručku… stále, opakovaně.

Já nemyslím že je dobrý nápad je spojit. Ochudíme se tím…

Honza Marek
Člen | 1664
+
0
-

Já bych to spojil. Když se to udělá dobře, tak to bude ideální. Ty dvě dokumentace se budou hodně překrývat a bude to těžké udržovat. Omáčky bude dost v tutoriálech jako quick start nebo ten na zdrojáku a třeba vzniknou i další (hello world za 5 minut).

_Martin_
Generous Backer | 679
+
0
-

Já mám takový pocit, že současná dokumentace je takový nepovedený mix TDG a PRG – místy je psán čtivě, formou článků (dobrým příkladem tohoto stylu psaní budiž Davidovy články na blogu – díky omáčce to člověk lépe chápe a je to zajímavější) a jinde je zase strohé popsání funkčnosti. A někde jsou i věci – dle mého – zcela zbytečné (použil někdy někdo z vás pojem Fully qualified action?). Nevýhodou těch čtivých článků je, pokud se rozhodnete něco hledat. Třeba takový signál presenteru: nejdřív se k němu musíte proklikat a potom se ještě pročítat textem, než najdete jeho použití. Asi to není nejlepší příklad, ale celkově: zrovna stránka věnovaná presenteru mě svou přeplněností odrazuje.

Sečteno a podtrženo: uvítal bych rozdělení.

romansklenar
Člen | 655
+
0
-

_Martin_ napsal(a):

Asi to není nejlepší příklad, ale celkově: zrovna stránka věnovaná presenteru mě svou přeplněností odrazuje.

Já vím, že psát čtivě neumím, proto jsem programátor, ne spisovatel :)
Tehdy před půl rokem byla situalce jiná, presenter třeba nebyl zdokumentován vůbec a nebylo od čeho se odrazit a pokud člověk neprošet tucet vláken ve fóru, kde se všelijak různě probíraly problémy se signály, persistentními parametry nebo s komponentama, tak se nehnul – proto je to pokupě a psáno formou ledovce s přídavky kousků z fóra.

Taky se mi to nečte nejlíp, ale vím kde co hledat no :) s tím souvisí:

Sečteno a podtrženo: uvítal bych rozdělení.

Já taky, jak někde psal Honza, jQuery style je ideální:

  • jednovětový popis k čemu co je
  • popis parametrů a případně jejich hodnot
  • kraťoučká ukázka použití, je-li to vhodné

Momentálně je to tak, že u těch upovídavějších dokumentací k třídám než bych něco našel, hledám odpověď radši v API nebo rovnou ve zdrojácích. Tím že je API hezky klikatelné je to i rychlé a pohodlné a přehledné, v IDEčkách to jde už samo… tím pocta Davidovi, že to dotáh do takové podoby ;) Nette je (podle mě) vážně příklad dobře a přiměřeně dokumentovaných zdrojáků a celkově zdrojáků jako vůbec ;)

Editoval romansklenar (15. 4. 2009 13:38)

David Grudl
Nette Core | 8218
+
0
-

romansklenar napsal(a):

Já vím, že psát čtivě neumím, proto jsem programátor, ne spisovatel :)

Vůbec si to neber osobně. Že jsi tu dokumentaci napsal je velká zásluha a minimálně splnila účel v tom, že (třeba díky ní) se k Nette dostal Inza a má vůli ji předělat. Ufff, přidám apel, byla by fakt škoda, aby se to někoho (a zcela oprávněně!) dotklo.

romansklenar
Člen | 655
+
0
-

:) hehe, to mě nenapadlo to tak myslet ;) pokud mi to dovolí čas rád bych se i účastil na dalším růstu dokumentace. Je fajn, že vzniká nějaký projekt, protože v jednom, dvou lidech se to nedá zvládnout, pokud se tomu nevěnuje člověk naplno. Jakmile přijdou nějaké povinnosti a musí to jít stranou tak je zle, protože Nette jde pořád dopředu a nestihá se to udržovat. Viz třeba prosinec & leden vs. zkoušky kde byl rekordní počet nových revizí, nových funkčností a nekompatibilit, které když se hned nepodchytily v dokumentaci a fórum se plnilo dotazy. Proto je důležité, aby se ta dokumentace udržovala aktuální i po tom co se napíše a čím více lidí bude na ní pracovat, tím větší šance je, že aktuální bude.

Vidím že, na další poslední sobotě bude zase co probírat ;)
PS: pokusím se dorazit.

Editoval romansklenar (15. 4. 2009 22:39)

_Martin_
Generous Backer | 679
+
0
-

romansklenar napsal(a):

Já vím, že psát čtivě neumím, proto jsem programátor, ne spisovatel :)

David Grudl napsal(a):

Vůbec si to neber osobně.

To se omlouvám, jestli to takhle vyznělo. Jen jsem to konstatoval a neměl jsem v úmyslu tím znevažovat práci, kterou jsi nad psaním dokumentace trávil. Jen si myslím, že když chceme předělávat dokumentaci, tak je v pořádku, řekneme-li, kde jsou jaké nedostatky (či naopak přednosti) a co jak upravit (aniž bychom za každou větou psali „přesto si velice ceníme práce, kterou pisatel dokumentace odvedl, atd…“ – to se rozumí samo sebou a tímto díky Davidovi za onen apel).

Teda, snad ty moje myšlenkový pochody pochopíte=D

David Grudl
Nette Core | 8218
+
0
-

Předpokládám, že to tak nikdo nemyslel ani nikdo nepochopil, ale je lepší si dopředu udělat jasno. S tím souvisí i druhá věc a to jsou autorská práva a licence k dokumentaci. Navrhoval bych použít stejný systém jako má Wikipedie. Co myslíte?

Inza
Člen | 330
+
0
-

Ještě k Davidově apelu:

Měl jsem to zmínit už v tom úvodním příspěvku omlouvám se. Tak tedy nyní.

**Chci moc a moc poděkovat všem, kteří se tvorby dokumentace již účastnili. Stejně jako těm, kteří se účastní diskuzí o ní – a plně souhlasím s Davidovým apelem.

Predevším díky vám přátelé – Vám, co jste už napsali nějaký ten řádek – bez ohledu na nějaké spisovatelské schopnosti – udělali jste co bylo třeba a když to bylo třeba – což je třeba víc než sem udělal já a to co jste udělali bylo velmi důležité a velmi to pomohlo. A člověk, který by tohleto kritizoval je idiot.

Vaší práce si velmi vážíme (já obzvlášťě a jsou mezi vámi i schopní talenti – to není jen odhad mám se spisovatelksou zkušeností již nějaké zkušenosti) a jen díky vám máme nyní z čeho vycházet.

Takže vám tímto chci (opožděně) velmi poděkovat. Veškerou činnost v rámci tohoto Nette – Dokumentačního projektu prosím vnímejte jako povýšení vámi velmi dobře udělané práce na vyšší úroveň. Budeme se snažit zachovat co největší část vašeho díla.

To co tu vlastně děláme není přepis dokumentace Nette, protože by byla špatná, ale vylepšení dosavadní (perfektní) dokumentace Nette, protože nám Nette dospívá a rostoucí komunita má větší nároky a my přeci chceme, aby byla dokumentace stále skvělá, ne?:-)…**

K té licenci:

David Grudl napsal(a):

Předpokládám, že to tak nikdo nemyslel ani nikdo nepochopil, ale je lepší si dopředu udělat jasno. S tím souvisí i druhá věc a to jsou autorská práva a licence k dokumentaci. Navrhoval bych použít stejný systém jako má Wikipedie. Co myslíte?

Ano je to dobrý nápad, prostě tím že člověk přispěje, se vzdává copyrightu ve prospěch Nette Foundation:-)…

kravčo
Člen | 721
+
0
-

Inza napsal(a):

Ano je to dobrý nápad, prostě tím že člověk přispěje, se vzdává copyrightu ve prospěch Nette Foundation:-)…

Podľa mňa je to inak – tým, že prispejem sa nevzdávam autorstva, ale dávam možnosť ostatným šíriť a upravovať dokumentáciu v medziach GFDL, avšak ten, kto šíri/upravuje musí rovnakú slobodu, akú dostal, poskytnúť i ostatným a musí rešpektovať autorstvo „diel“, ktoré šíri/upravuje.

R2D2
Člen | 22
+
0
-

Autorství se pokud vim dokonce ani nedá vzdát/předat ho. Autorem (u nás) je fyzická osoba, která dílo vytvořila, tečka. Proto je potřeba volná licence. Převzít to z wiki je myslim dobrý.

Inza
Člen | 330
+
0
-

R2D2 napsal(a):

Autorství se pokud vim dokonce ani nedá vzdát/předat ho. Autorem (u nás) je fyzická osoba, která dílo vytvořila, tečka. Proto je potřeba volná licence. Převzít to z wiki je myslim dobrý.

Ok díky za info;-) – je to dobrý nápad;-)

David Grudl
Nette Core | 8218
+
0
-

Autorství se v ČR skutečně vzdát nedá a vůbec – vyžadovat jeho vzdání se mi připadá neetické.

Inza
Člen | 330
+
0
-

David Grudl napsal(a):

Autorství se v ČR skutečně vzdát nedá a vůbec – vyžadovat jeho vzdání se mi připadá neetické.

Ne, tak jsem to ani nemyslel, špatně jsem to formuloval:-) – Prostě i já si myslím, že použít to z wiki je dobrý nápad;-) – a to sem chtěl říct i tím prvním postem ale nějak jsem se do toho zamotal;-)…