Přispění do vývoje, kde začít?
- p4nther
- Člen | 10
Zdravím, studuju první ročník magisterskýho studia na FEL ČVUT (obor Otevřená informatika) a v jednom z našich předmětů – Open Source programování – máme za úkol přispět do nějakého open source projektu. Vybral sem si Nette :-) Zatím jsem ho ale používal jen pasivně ve svých a pracovních projektech, takže moc nevím kde začít. Našel sem si pár issues na GitHubu, které se mi zdály jako vhodné na opravu:
- Selection::insert nefunguje s parametrem Selection nebo string
- Form::LENGTH operation and the default message
- SubmitButton description
Mám zkusit opravit jednu z nich nebo radši něco jinýho?
Předem díky za nápady.
- enumag
- Člen | 2118
Že sis vybral Nette je jistě chválihodné, ale mohl bys alespoň říct nějaký orientační rozsah jak máš do vybraného projektu přispět? Ty tři issues jsou víceméně opravy pár řádků na vhodných místech + přidání testu. Navíc je nad všemi třemi visí otázka zda má vůbec smysl je opravovat.
Nápad: Neon parser pro anotace – tohle se plánuje už dlouho, všichni by to chtěli, ale nikdo se k tomu nemá (včetně mé maličkosti). :-D
Jinak většina přispěvatelů do Nette funguje tak, že opravují bugy na které zrovna narazí a implementují features, které jim chybí. Zdaleka ne vždy se implementovaná feature do frameworku opravdu dostane. Tím chci říct, že by možná bylo lepší mít vyřešit problém, na který jsi ty sám narazil.
Editoval enumag (3. 3. 2013 20:56)
- p4nther
- Člen | 10
enumag napsal(a):
Že sis vybral Nette je jistě chválihodné, ale mohl bys alespoň říct nějaký orientační rozsah jak máš do vybraného projektu přispět? Ty tři issues jsou víceméně opravy pár řádků na vhodných místech + přidání testu. Navíc je nad všemi třemi visí otázka zda má vůbec smysl je opravovat.
Nápad: Neon parser pro anotace – tohle se plánuje už dlouho, všichni by to chtěli, ale nikdo se k tomu nemá (včetně mé maličkosti). :-D
O rozsahu to není. Cílem je spíš zkusit si práci v Open Source projektu/komunitě. Zase bych ale nerad opravoval něco nesmyslnýho.. Proto se radši předem ptám.
- enumag
- Člen | 2118
Moje zkušenost je taková, že jsem několikrát něco opravil, poslal pull request a po x měsících sám zjistil že to není potřeba takže jsem ten pull request zase sám zavřel. Myslím že s tímto scénářem se setkal každý kdo se někdy snažil něčím přispět. Tím chci říct že co je a není nesmysl ukáže až čas.
Jinak spousta věcí je v roadmap. ;-)
- Šaman
- Člen | 2659
Taky můžeš vytvořit nějaký doplněk – není to sice přímo práce na jádru Nette, ale rozšiřuje jeho funkcionalitu, nemusíš znát dopodrobna zdrojáky a podle mě doplňky k projektu Nette patří.
Pak mě napadá ještě pomoci s dokumentací. (např. projít krok po kroku
quick start a upravit dokumentaci tak, aby se začátečník nikde nezasekl –
teď je tam pár nekonzistencí. Nebo ukázkový projekt s dokumentací na
Nette\Database. Teď v oficiální dokumentaci nikde není rozepsáno jak
pracovat s M:N, ani 1:N vazbami – metoda related()
a operátor
dvojtečka.) To by bylo z hlediska komunity úplně nejužitečnější,
protože databáze je moc složitá na intuitivní používání a moc špatně
zdokumentovaná.
- p4nther
- Člen | 10
Šaman napsal(a):
Taky můžeš vytvořit nějaký doplněk – není to sice přímo práce na jádru Nette, ale rozšiřuje jeho funkcionalitu, nemusíš znát dopodrobna zdrojáky a podle mě doplňky k projektu Nette patří.
Pak mě napadá ještě pomoci s dokumentací. (např. projít krok po kroku quick start a upravit dokumentaci tak, aby se začátečník nikde nezasekl – teď je tam pár nekonzistencí. Nebo ukázkový projekt s dokumentací na Nette\Database. Teď v oficiální dokumentaci nikde není rozepsáno jak pracovat s M:N, ani 1:N vazbami – metoda
related()
a operátor dvojtečka.) To by bylo z hlediska komunity úplně nejužitečnější, protože databáze je moc složitá na intuitivní používání a moc špatně zdokumentovaná.
Dokumentace práce s databází je žalostná, to souhlasím. Jenže za práci jen na dokumentaci máme poloviční body.. Ale mohl bych ji někdy zkusit rozšířit „mimo soutěž“ :-)
Doplněk mě nenapadl. Možná bych mohl nějaký svoje řešení zabalit a vydat jako doplněk. Přeci jen už sem ledacos vymyslel.
- Šaman
- Člen | 2659
To je škoda, nevím jak si váš učitel představuje spolupráci na rozjetém projektu, ale přijít někam a začít se hrabat do kódu bez skutečně hluboké znalosti zdrojáků, to není úplně nejlepší nápad. Možná v jiném druhu projektu, kdy píšeš nějakou novou funkcionalitu v samostatné třídě. Ale v Nette se každý nápad nejdřív drbe pár týdnů na fóru, když už se rozhodne že je to užitečná funkce pro všechny, tak se řeši jak ji implementovat co nejlépe a teprve potom ji (většinou někdo kdo už zná zdrojáky jak své boty) implementuje.. A pak se stejně čeká než to David mergne – často se mu nelíbí implementační detaily a tak po nějaké době tuto funkcionalitu upraví, nebo celou přepíše aby zapadala do konceptu.
Je to sice zdlouhavé, ale pomáhá to udržet Nette konzistentní a relativně malé. Kdyby si každý dopsal co chtěl na úrovni jeho programátorských zkušeností, tak máme za chvíli starý Zend.
Zatímco s dokumentací mohou pomáhat i nováčci (třeba ten quickStart – narazí na chybu, doptají se co s tím a hned to mohou opravit) a tím i získávají zkušenosti s projektem a budují si jméno v komunitě. A do úprav jádra se mohou pustit až budou řešení problému hledat spiš ve zdrojáku než v dokumentaci, až si párkrát pokecají na poslední sobotě s Davidem a top 5 přispěvovateli, akceptují koncept frameworku a prostě budou vědět co a jak.
Proto si myslím, že dávat za dokumentaci polovični body je škoda, ne-li chyba, protože psát dokumentaci je zdlouhavé (rozhodně pracnější než oprava pár drobných issue), guru se do toho nechce a programátor se naučí že je to vlastně podřadná práce (říká to i učitel). A pak to dopadá, jak to dopadá, viz ta Nette\Database.
Editoval Šaman (3. 3. 2013 23:24)
- mishak
- Člen | 94
Nechci psát „hejt“ ale musím, učitel je idiot, pokud si myslí, že tvorba dokumentace je něco podřadného a ještě větši pokud to tvrdí a snižuje tak žákům mínění o takové práci nejen v open-source světě.
Bez dokumentace je jakýkoli kód k ničemu. Není to rozhodně podřadná
práce, dělat ji pořádně zvládá méně lidí, než psát opravdu dobrý
kód.
Pak by jsme mohli jít ještě dál a tvrdit, že dělat Poslední sobotu,
přednášky o Nette, nebo psát články o state of the art a
best practice návrzích kódu je něco podřadného. Teď jen doufám,
že jejich tvůrci si to opravdu nemyslí :).
S tímto přístupem by učebnice nebyly potřebné, protože žák si
dokáže všechno vyzkoušet sám…
Stejně jako testy nejsou potřebné, protože to otestuji už při
vývoji…
Editoval mishak (4. 3. 2013 0:32)