Přispění do vývoje, kde začít?

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

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:

Mám zkusit opravit jednu z nich nebo radši něco jinýho?

Předem díky za nápady.

enumag
Člen | 2118
+
0
-

Ž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
+
0
-

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
+
0
-

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 | 2634
+
0
-

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
+
0
-

Š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 | 2634
+
0
-

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
+
0
-

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)