Hall of Fame – žebříček přispěvatelů

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

Přidal jsem na web žebříček největších přispěvatelů do kódu Nette.

Dříve tato adresa, která se uvádí ve všech souborech composer.json, přesměrovávala na statistiky Githubu, jenže po rozdělení do samostatných repozitářů to přestalo mít smysl, takže to chtělo vytvořit nový přehled. Zároveň jsem si chtěl vyzkoušet práci s Github API easy access (šlo to skvěle).

Jako zdroj dat jsem použil statistiky GitHubu, načítám je ze všech Nette komponent (a sandboxu), vyjma původního repozitáře Nette. Data ze všech repozitářů se sčítají, jen dokumentace, tj. web-content, se počítá zvlášť.

GitHub vrací týdenní počty komitů, přidaných a smazaných řádků pro jednotlivé uživatele. Jak ale z toho udělat žebříček? Je to ošidné, už jsem o tom jednou psal. GitHub třeba neumí odlišit přejmenování souborů: pokud přejmenujete 100řádkový soubor, ve statistice se to projeví jako 1 commit, 100 additions, 100 deletions.

Brát v úvahu jen počet komitů je nefér, protože uživatel, který opraví pár typos, se dostane před toho, který napíše novou třídu nebo stránku dokumentace. Projevuje se to zejména v krátkodobém tříměsíčním přehledu.

Vycházet z počtu změněných řádek (tj. součtu additions + deletions) je taky nefér, protože dramatický náskok získá ten, kdo třeba přejmenoval adresář s testy.

Proto jako počet „změněných“ řádků počítám max(1, additions - deletions), tedy jde spíš o počet přidaných řádků, což je samozřejmě taky nefér, ale asi nejméně nefér ze všech ostatních variant, neboť to eliminuje přejmenovávání a hromadné změny.

Ale jak zkombinovat počet komitů a přidaných řádků? Počet přidaných řádků není přímo úměrný vynaložené práci a lepší bývá více menších komitů, proto jsem nakonec pro pořadí zvolil vzorec SUM(commits) + SUM(SQRT(rows)), kde rows jsou ty týdenní přidané řádky.

Zajímavé je, že i hodně jiné vzorce měly na pořadí spíš drobný vliv.

Patrik Votoček
Člen | 2221
+
0
-

Jak často se žebříček přepočítává?

„OT“: vynechán je i repositář https://github.com/…ns.nette.org :-)

David Grudl
Nette Core | 8218
+
0
-

Jasně, vyjádřil jsem se špatně, je to ze všech repozitářů, které tvoří framework.

Aktualizovat by se to mělo každý týden.

enumag
Člen | 2118
+
+3
-

Uniká mi něco nebo na tu stránku odnikud kromě tohoto tématu nevede odkaz?