Statistici Codersrank


(Adrian) #1

Tocmai am descoperit un site unde se face statistica/developer de pe GitHub. Pana acum am folosit openhub, care are statistici ok la nivel de proiect. Astia https://profile.codersrank.io/ fac statistici/utilizator.

Cam asta e treaba cu proiectele mele pentru blog (si cateva alte contributii relativ minore): https://profile.codersrank.io/user/aromanro


(cosmos) #2


:smiley:


(Cătălin Nicolescu) #3

Daca face treaba asta doar pt Github, sincer e ca si cum n-ar fi.


(Adrian) #4

Inteleg ca poti sa adaugi si Stack Overflow. Din motive evidente, nu are cum sa faca statistici din date ne-disponibile.


(Adrian) #5

Sa nu uitam si de dictonul vechi al stramosilor nostri: ‘Si vos es non github, non est’ (Tacitus) :slight_smile:

Serios, cum altfel ai putea sa te compari cu Google sau Microsoft, care sunt pe GitHub? :stuck_out_tongue:


(Cătălin Nicolescu) #6

Faza e că “the kinky stuff” se intamplă pe repo-uri private (iar 99% sunt pe Bitbucket)
https://help.github.com/articles/publicizing-or-hiding-your-private-contributions-on-your-profile/

Numai eu am 20+ repos private si sa nu mai vorbesc de teams prin care sunt
Si pe acolo se lucrează(vorba vine) mult mai mult decât pe segmentul open-source


(Red) #7

Am 7 pagini cu 25 de repo-uri pe pagină pe BitBucket. Toate private.


(Adrian) #8

Si eu lucrez cu repo-uri private, pe doua site-uri (unul e bitbucket, ca tot ati pomenit de el).

Statistica e oarecum relevanta cu privire la proiecte open-source, desi indicatorii folositi sunt oarecum arbitrari. Multe site-uri din astea considera numarul de commit-uri, altele fac apel la popularitate (numara stelutele), probabil ar fi bine sa se tina cont de mai multe lucruri (cum ar fi numarul de linii). Plus ca exista un bias de selectie, pe care nu o sa-l mai detaliez.

Exista de-aia care lucreaza pe bani la proiecte open source pe GitHub. Pe cale de consecinta, au punctaj cu un ordin de marime mai mare decat mine. Cunosc unul din Germania, are cam 5000 de puncte si e in top 50 in Germania. Dar nu o face gratuit.

Nici site-ul asta nu pare prea grozav, pana la urma tot openhub e mai relevant, desi nu prea grozav pe dev, arata numar de commit-uri si ceva chart https://www.openhub.net/accounts/aromanro , dar separat pe proiect e destul de ok.


(George Calianu) #9

Ar mai fi si Git Awards (+ranking pe oras, pe tara, etc).
:sunglasses:


(Adrian) #10

Da, deja am aflat de el :slight_smile:
Mai e si https://sourcerer.io dar din pacate toate au niste probleme, pe care le-am mentionat mai sus. Mi se pare ciudat ca desi reclama stiu sa-si faca, n-au fost in stare sa faca o statistica ceva mai buna, n-o fi chiar atat de greu. Pana la urma openhub e cel mai bun, doar daca ar face statistica si pe developer mai ca lumea, nu numai pe proiecte…

LE: Asta e formula pe git awards: sum(stars) + (1.0 - 1.0/count(repositories)) Iti numara stelutele si mai primesti un pic, functie de numarul de repo-uri. E cam prostie, sincer. Apel la popularitate. Asta https://github.com/GStreamer/gstreamer ia bataie de la asta https://github.com/JoeyDeVries/LearnOpenGL desi ultimul e doar tutorial, oricat de fain ar fi, nu e gstreamer. Iar VTK il depaseste pe primul nu cu chiar atat de mult, desi e vorba de multe ordine de marime in complexitate intre cele doua https://github.com/Kitware/VTK Cam 5.5 milioane linii de cod. Iar tutorialul ala il ‘bate’. Sa fim seriosi, ambele or fi cu OpenGL, dar nici macar nu incape termen de comparatie :slight_smile:


(Cătălin Nicolescu) #11

Deci cu alte cuvinte, o solutie buna ar trebui sa inceapa cu analizoare si validatoare de cod
(lintere, cod complexity, best practices, etc)
Benchmarks cu previous commit/build ? Ca poate n-ai scris prea mult cod, da ai facut 30%+ viteza dintr-un banal “hack”


(Adrian) #12

Si aia. Eventual. Dar macar sa numere naibii si liniile, nu numai stelutele, sau numarul de commit-uri :slight_smile:

Pana la urma o solutie perfecta nu exista, ‘best practices’ e degeaba la un program care nu functioneaza, altul care e scris cu picioarele dar merge e mult mai valoros.


(Ionut Dinu) #13

E complicat si cu liniile. Daca dintr-un commit bagi un framework CSS, devii expert in CSS peste noapte?


(Adrian) #14

Devii plagiator :slight_smile: Cumva ar trebui rezolvate chestiile astea, sa nu se puna pe seama ta ce n-ai facut, desi e destul de dificil. Framework-uri majore pot fi identificate, insa.


(Ionut Dinu) #15

Ma refeream la chestii gen Bootstrap care mai sunt incluse, nu-i vorba de plagiat. Daca le identifica e bine.


(Adrian) #16

Ar fi cam nasol ca fiecare sa includa codul la toate librariile/framework-urile folosite de catre aplicatie.


(Ionut Dinu) #17

Nu vorbeam despre cat de nasol e, ci despre faptul ca numaratul de linii nu e mereu de ajuns. In practica se intampla sa incluzi librarii si din motive bune.
Dar ca sa nu ne limitam la un exemplu:
Se mai intampla sa muti un fisier, sa schimbi numele unui folder, sau pur si simplu sa indentezi ceva, caz in care git iti baga zeci (de mii) de linii care nu arata neaparat cat de pro esti pe limbajul respectiv.


(Adrian) #18

Sigur ca nu e de ajuns, loc e o statistica foarte proasta indiferent daca se includ sau nu librarii, dar e mai mult decat nimic: https://en.wikipedia.org/wiki/Source_lines_of_code

Sau mai mult decat commit-urile. Nu mi-ar fi greu sa bag un script care sa faca niste modificari minore in secventa si sa tot faca commit si push :slight_smile:

PS Nu m-am referit la numarul de linii din commit-uri. Ci la cele din proiecte.


(cosmos) #19

Cred ca in acesta situatie, un .gitignore configurat cum trebuie ajuta :slight_smile:

Doar codul sursa al proiectului + un pom.xml/composer.json/project.json + readme

La un moment dat m-am speriat cand am vazut ca intr-un repo, am mai multe linii decat proiectul in sine :smiley:
Era un lib strecurat :slight_smile: