Nová API dokumentace – kritika a návrhy

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
David Grudl
Nette Core | 8147
+
0
-

V distribučních balíčcích a na https://api.nette.org už můžete vidět dokumentaci generovanou vlastním nástrojem (původní). Rozhodl jsem se napsat vlastní nástroj, protože ostatní mi nevyhovovaly a zdálo se mi, že ohýbat existující nástroje je složitější a časově náročnější, než napsat svůj. (pro zajímavost, generátor má 250 řádků a je asi 60× rychlejší než původní phpDoc; uvolním až někdy).

Zkusil jsem použít framy a uvidíme, jak se osvědčí. Novinkou je zahrnutí nativních PHP tříd do dokumentace a plná podpora PHP 5.3

Současná podoba ještě není dokonalá, chybí zejména vyhledávání a plnohodnotné formátování phpDoc bloků a linkování příkladů, nicméně budu rád, když napíšete kritické připomínky nebo návrhy, co upravit.

pekelnik
Člen | 462
+
0
-

Jsem rád že vzniknul nette friendly nástroj na dokumentaci :)

  • v součanosti nelze téměř na nic kliknout :) // tuto řádku smazat!
  • rámce jsou na prd…
  • užasná by byla ajaxová verze
  • jednosouborová verze pro offline prohlížení
  • odkazy na zdroják by mohly být řešeny formou odkazů na github
despiq
Člen | 320
+
0
-

nevim jestli to jenom neni ted aktualne nefunkcni ale nejde mi prochazeni pres namespacy a v all classes muzu prohlednout pouze nektere tridy

co uz nekdo jinde psal, moznost vlezt primo do kodu tridy by byla super, klido jen propojeni na github jestli je to nejak mozny

westrem
Člen | 398
+
0
-

EDIT: Bol tu napisany zbytocny request na featuru, ktora uz v novej API doc, len som si ju neuvedomil (oproti povodnej verzii je slightly pozmenena), ospravedlnujem sa.

NEW: Neviem ci je to len rendrovacia chybka, ale napr. pri triede Debug su nazvy metod tucne (lepsie citatelne aj pozeratelne) kdezto pri vecsine inych tried su nazvy metod tenuckou cervenkastou farbou.

Editoval westrem (30. 9. 2010 3:35)

David Grudl
Nette Core | 8147
+
0
-

Vidíme všichni to stejné? Kliknout lze na vše, otevřít lze vše, linky na zdrojáky jsou, offline verze je v distribuci… :-/

Patrik Votoček
Člen | 2221
+
0
-

Řekl bych že přehlédnuli onu větu V distribučních balíčcích a na https://api.nette.org už můžete vidět dokumentaci generovanou vlastním nástrojem a mysleli že je to to samé co bylo předtím. (třeba včera)

Jinak super! Vítám tento krok až na ty rámce. (nejde kvůli tomu jednoduše odkazovat)

Honza Marek
Člen | 1664
+
0
-

Má to vypadat stejně jako předchozí verze až na to, že chybí stránky s interfacema? Nebo je chyba u mě?

David Grudl
Nette Core | 8147
+
0
-

Smažte si cache nebo zkuste API z distribuce…

despiq
Člen | 320
+
0
-

chrome sem teda veril, ze si cache podrzi i kdyz je obsah uplne jiny sem necekal

kazdopadne je ta dokumentace cupr i s ramama

Editoval despiq (30. 9. 2010 9:45)

Majkl578
Moderator | 1364
+
0
-

Teď už to vypadá líp, jen se mi nelíbí ty rámy a hlavičky metod nedodržující coding standard Nette. :)
Bez rámů se totiž dá jednoduše odkázat přímo na určité místo, osobně posílám linky do API lidem celkem často. Je tam NO FRAMES, dobře, ale to přijdu o menu a to je takové nic moc, všude potřeba kliku navíc.
Ještě bych uvítal odkaz na source i přímo v tabulce metod, ne jen u jejich bližšího vysvětlení, takto.

_Martin_
Generous Backer | 679
+
0
-

@Majkl578: rámy, odkazy +1

@David Grudl: Pěkné, velmi pěkné, těší mě, že se věci hýbou i po skončení WebExpa ;) K dokumentaci:

  1. Hezčí vypisování properties a konstant – jako ve staré dokumentaci. U konstant to není tolik nutné, ale u proměnných bylo přehlednější, když byly v samotném sloupečku jejich názvy – hledalo se v tom mnohem rychleji.
  2. Bavičky=) Líbilo se mi zvýrazňování kódu ve staré dokumentaci – v té nové je to všechno takové stejné (rozumněj = černé a sem tam zelená) a už jen samotná vidina spousty jednolitých černých bloků mě odrazuje od jakéhokoliv hledání (jo, je tam červená, ale při zběžném pohledu není příliš výrazná).
  3. S barvičkami trochu souvisí prolinkování funkcí (ikdyž v té staré dokumentaci byl prolinkován vždy jen jeden výskyt funkce v bloku kódu, což by chtělo doladit).
  4. Všiml jsem si chybějících popisů vstupních a výstupních parametrů funkcí a metod. Bohužel si teď vůbec neuvědomuji, zda jsem je používal nebo ne – tak to ukáže až praxe, jestli má význam dávat je do přehledu.
paranoiq
Člen | 392
+
0
-

žůžo. hlavně to přidání souvisejících nativních tříd

@majkl: při kliknuti na no frames a pak zpět na frames se vygeneruje permanentní odkaz pro verzi v rámech

Foowie
Člen | 269
+
0
-

@paranoiq: stačí kliknout rovnou na NO FRAMES

„source i přímo v tabulce metod“++

BTW by se mi líbilo (ikdyž bych si asi trošku vymýšlel) u tříd seznam (přímých?) potomků/u interfaců seznam potomků + seznam tříd implementujících toto rozhraní :)

Majkl578
Moderator | 1364
+
0
-

Opomenu-li fakt, že to jde naprosto stejně udělat i bez použití rámů, proč jeden, natož dva kliky navíc? Jakou výhodu ty rámy mají? A jakou nevýhodu stránka bez rámů?

pekelnik
Člen | 462
+
0
-

Už mi to taky jede perfektně :) Konečně jsem zjistil jak se v Chrome maže keš :P

Skvělá práce!

Druhá várka poznámek:

  • ty rámce jsou fakt hnus! Míněno smrtelně vážně… I kdyby někdo obhájil jejich uživatelskou přívětivost (což se imho nedá) – stále zůstává fakt že jsou ošklivé a vzhled celého webu naprosto shazují…
    • nedá se vzít adresa z prohlížeče :(
    • verze bez rámů není rovnocená té s rámci ← chybí ty okýnka :)
  • uvítal bych větší zvýraznění popisu u metod a (možná) tříd (tam je to takové šedivější ale taky nic moc výrazného) – např. tučnější šedá patková kurzíva jako je .perex na webu

Jinak je to příjemně svižné :)

redhead
Člen | 1313
+
0
-

pekelnik napsal(a):

Už mi to taky jede perfektně :) Konečně jsem zjistil jak se v Chrome maže keš :P

Já myslel, že je snad všude univerzální Ctrl + F5, ne?

Ondřej Brejla
Člen | 746
+
0
-

To není :-)

Majkl578
Moderator | 1364
+
0
-

Teď jsem si všiml, že v API je i třída DateTime53, která tam nemá co dělat – je pro 5.2.

hanakus
Člen | 22
+
0
-

Davide díky za ty linky na skok do zdrojáku. Jinak dokumentace nativních tříd je určitě dobrý nápad, hodí se to.

Honza Marek
Člen | 1664
+
0
-

Já bych uvítal, kdyby se části kódu daly zkopírovat bez čísel řádek, ať se dá nette lépe vykrádat.

pekelnik
Člen | 462
+
0
-

@honza dobrý nápad :)

Milo
Nette Core | 1283
+
0
-

Navrhnul bych jinou barevnou syntaxi. Např. tu, kterou se zobrazuje na foru.

westrem
Člen | 398
+
0
-

Honza Marek napsal(a):

Já bych uvítal, kdyby se části kódu daly zkopírovat bez čísel řádek, ať se dá nette lépe vykrádat.

Ak je to prakticky mozne a nebol by s tym problem tak +1

Majkl578
Moderator | 1364
+
0
-

Honza Marek napsal(a):

Já bych uvítal, kdyby se části kódu daly zkopírovat bez čísel řádek, ať se dá nette lépe vykrádat.

Super nápad.

westrem napsal(a):

Ak je to prakticky mozne a nebol by s tym problem tak +1

Je, viz GitHub.

Majkl578
Moderator | 1364
+
0
-

Ještě jedna drobnost – šlo by metody v tabulce řadit abecedně? Teď jsou řazené tak jak leží v kódu.

Ondřej Brejla
Člen | 746
+
0
-

Nejlogičtější by mi přišlo řadit podle modifikátoru přístupu a následně podle abecedy…a staticy nahoru.

pekelnik
Člen | 462
+
0
-

Nejlogičtější by mi přišlo řadit podle modifikátoru přístupu a následně podle abecedy…a staticy nahoru.

+1

grey
Člen | 94
+
0
-

Ondřej Brejla wrote:

Nejlogičtější by mi přišlo řadit podle modifikátoru přístupu a následně podle abecedy…a staticy nahoru.

+1

westrem
Člen | 398
+
0
-

@Ondřej Brejla +1

David Grudl
Nette Core | 8147
+
0
-

V API jsou nějaké nové úpravy, zdrojový kód formátuje FSHL, proměnné se vypisují podobně jako ve staré verzi, kopírování odkazů by mělo fungovat i v rámech a odkazy na zdrojáky jsou více po ruce. Uvažuju, že sjednotím přehled metod s detaily. Řazení bych asi řešil pomocí JavaScriptu, protože pořadí „jako ve zdrojáku“ mi vyhovuje víc, než podle abecedy.

Patrik Votoček
Člen | 2221
+
0
-

Tak teď to pro změnu nefunguje vůbec… :-D Po kliknutí na jakýkoli odkaz jsem přesměrován na https://api.nette.org/nette/2.0/#…

David Grudl
Nette Core | 8147
+
0
-

Smazaná cache? Jaký prohlížeč?

Patrik Votoček
Člen | 2221
+
0
-

Cache smazaná… Dělá to v Chrome. V Opeře to funguje ale nemění se kotva. Je tam stále https://api.nette.org/nette/2.0/#…. Ve Firefoxu to funguje na 100%.

grey
Člen | 94
+
0
-

mě to nedungovalo, jak říkal vrták, ale po smazání cache všechn ok… taky chrome… nesmazal jsi jenom cache z poslední hodiny?

a davide, tohle je kompletně tvoje, nebo jen přizpůsobený jiný systém?

Honza Marek
Člen | 1664
+
0
-

David Grudl napsal(a):

Řazení bych asi řešil pomocí JavaScriptu, protože pořadí „jako ve zdrojáku“ mi vyhovuje víc, než podle abecedy.

Myslím, že to je tím, že je to tvůj kód. My ostatní nemáme zažitý tvůj systém jakým řadíš metody od shora dolu, tak potřebujeme nějaký jasnější. Líbil se mi Ondřejův návrh.

Vyki
Člen | 388
+
0
-

Jenom drobnost – jelikož i „namespace“ je klíčové slovo v kontextu PHP, nemělo by být také červeně?

hrach
Člen | 1834
+
0
-

ha, tak ted ta api je fakt perfektní :) Možná bych trochu vylepšil typografii stránek typu: https://api.nette.org/…otation.html, kdy je to trochu nepřehledné (ale to bylo ve všech generátorech). Skvělá práce!

22
Člen | 1478
+
0
-

..dá se v API nějak vyhledávat?

Honza Kuchař
Člen | 1662
+
0
-

Super, pokud nebume používat GUI s JavaScriptem o moc lepší to být nemůže. Skvělá práce!

Ale pokud ano, mohlo by to vypadat třeba takto: http://dev.sencha.com/…oy/dev/docs/

Patrik Votoček
Člen | 2221
+
0
-

It's cool

Patrik Votoček
Člen | 2221
+
0
-

Jsem slepí nebo tam chybí Nette\Application\AppForm?

Semik
Backer | 135
+
0
-

Nejsi, taky ho tam nevidím.

iguana007
Člen | 970
+
0
-

Predpokladam, ze vysledky, ktere vraci vyhledavaci pole jsou v plne rezii Google, az se raci novou API zaindexovat nebo je nekde bug?
Vsechny odkazy ve vysledcich totiz vedou na „1.0“ verzi API a jsou nefunkcni.

David Grudl
Nette Core | 8147
+
0
-

Taky čekám, kdy to přeindexuje.

David Grudl
Nette Core | 8147
+
0
-

Udělal jsem zase nějaké úpravy a výsledek považuju takřka za finální, takže smažte si cache a kritizujte :-) Zdrojový kód generátoru dokumentace najdete tady.

Váhal jsem, zda dokumentaci ještě upravit do designu webu (jako byla původní), ale mám za to, že z praktického hlediska by to bylo kontraproduktivní a nevím, jak bych v tom řešil ty (pseudo)rámy.

Honza Kuchař napsal(a):
Ale pokud ano, mohlo by to vypadat třeba takto: http://dev.sencha.com/…oy/dev/docs/

To je podle mě úplně strašné :-)

Majkl578
Moderator | 1364
+
0
-

Ještě bych měl takovou maličkost – mohlo by si přepínání řazení pamatovat nastavení, ideálně pro celé API?

Jan Tvrdík
Nette guru | 2595
+
0
-

Jde nějak vypnout to příšerné poskakování při hoveru metody?

David Grudl
Nette Core | 8147
+
0
-

Ad připomínky: teď už je můžete posílat i ve formě pull requestů ;-)

David Grudl
Nette Core | 8147
+
0
-

Uz je mi to trapne opakovat ;-)

SMAŽ KEŠ

Patrik Votoček
Člen | 2221
+
0
-

Dal bych ruku do ohně za to že jsem ji mazal… :-(

JDU SI DÁT STUDENOU SPRCHU