Portál AbcLinuxu, 13. května 2025 10:24
Ta metrika měří aktivitu (vývoje) projektu. Nikoliv jak moc je používán (tranzitivní závislosti projektů). Když budete mít projekt, který nikdo nespravuje nebo je dokonalý (žádné commity, releasy, bug tracker), ale všichni jej používají, tak to bude hodně kritický projekt, protože když se rozsype, tak všichni stojí. Ale googlí metrika mu dá nízkou hodnotu. Mám takový dojem, že metrika stojí na víře, že kritický projekt budí velkou aktivitu. Já si to nemyslím. Jako protipříklad si vezměme „zrušený“ CentOS. Věc, kterou dělá doslova pár lidí, žádné chyby nemá (protože jsou to chyby RHELu a tak jsou zavírány), ale když se oznámí její konec, tak je oheň na střeše.
Ta je tam na ozdobu:
def get_dependents(self): repo_name = self.url.replace('https://github.com/', '') dependents_url = ( 'https://github.com/search?q="{search}"&type=commits'.format( search=repo_name)) content = b'' for _ in range(3): result = requests.get(dependents_url) if result.status_code == 200: content = result.content break time.sleep(10) match = DEPENDENTS_REGEX.match(content) if not match: return 0 return int(match.group(1).replace(b',', b''))
Například pro projekt „https://github.com/ossf/criticality_score“ (proměnná repo_name) ta funkce vrátí „1“, protože pokud se podaří do třetice stáhnout dokument z https://github.com/search?q=%22ossf/criticality_score%22&type=commits, tak je tam řetězec „1 commit result“, což znamená, že existuje 1 commit na celém GitHubu, který obsahuje řetězec „ossf/criticality_score“.
Počítat commity, které obsahují URL repozitáře, zavání NPM/Go náboženstvím. To už lepší údaje o závislostech poskytne kávová sedlina nebo jakákoliv linuxová distribuce.
λ ./criticality_score.exe --repo github.com/martinrotter/rssguard name: rssguard url: https://github.com/martinrotter/rssguard language: C++ created_since: 76 updated_since: 0 contributor_count: 20 org_count: 2 commit_frequency: 9.0 recent_releases_count: 11 closed_issues_count: 44 updated_issues_count: 57 comment_frequency: 4.3 dependents_count: 35 criticality_score: 0.51748
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.