{"id":15785190,"url":"https://github.com/kant2002/metadatadumper","last_synced_at":"2025-04-01T16:30:29.420Z","repository":{"id":236520676,"uuid":"792771463","full_name":"kant2002/MetadataDumper","owner":"kant2002","description":"Dump .NET metadata information into CSV files","archived":false,"fork":false,"pushed_at":"2024-05-06T17:17:49.000Z","size":334,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-11T20:35:04.241Z","etag":null,"topics":["dotnet","reverse-engineering"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kant2002.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-27T14:33:18.000Z","updated_at":"2024-05-06T17:17:52.000Z","dependencies_parsed_at":"2024-10-04T20:21:32.253Z","dependency_job_id":"af0eedcf-6872-4bb4-9b76-591ee2e4fe03","html_url":"https://github.com/kant2002/MetadataDumper","commit_stats":null,"previous_names":["kant2002/metadatadumper"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kant2002%2FMetadataDumper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kant2002%2FMetadataDumper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kant2002%2FMetadataDumper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kant2002%2FMetadataDumper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kant2002","download_url":"https://codeload.github.com/kant2002/MetadataDumper/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246620222,"owners_count":20806722,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dotnet","reverse-engineering"],"created_at":"2024-10-04T20:21:26.350Z","updated_at":"2025-04-01T16:30:29.113Z","avatar_url":"https://github.com/kant2002.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MetadataDumper\n\nDump .NET metadata information into CSV files. Each metadata table saved to separate CSV file.\n\n## Usage\n\n```\ndotnet run \"C:\\Program Files\\dotnet\\shared\\Microsoft.AspNetCore.App\\8.0.4\\Microsoft.AspNetCore.Authentication.Abstractions.dll\" Microsoft.AspNetCore.Authentication.Abstractions\n```\n\n## Collect statistcis about words from .NET distribution\n\n```\n.\\summary.ps1\n```\n\n## Dotnet API analysis\n\n- Core .NET consists of unique 6,757 words or abbreviations, or typos. 676,627 usages of these words across APIs\n- Core and Web related .NET consists of unique 7,366 words or abbreviations, or typos. 962,663 usages of these words across APIs\n- Core .NET consists of unique 11,467 words or abbreviations, or typos. 1,881,143 usages of these words across APIs\n\nSame in tabular data\n\n| .NET variant | Words | Usages |\n| -----------  | ----: | ------:|\n| Core         | 6,757 | 676,627 |\n| ASP.NET Core | 7,366 | 962,663 |\n| With Desktop | 11,467 | 1,881,143 |\n\n# API Comprehension\n\nLet's say your English is A1, and for simpliciy assume that all words you are know are from the subset used by .NET\n\nTake number from this answer https://languagelearning.stackexchange.com/questions/3061/what-are-estimates-of-vocabulary-size-for-each-cefr-level about possible A1 vocabulary sizes: 300, 600, 1500\n\nLet's build what % of API can be comprehensible for person which know meaning of some words.\n\n## Core API\n\n| Vocabulary size | % of API surface comprehensible |\n| --------------: | ------------------------------: |\n| 50 | 36% |\n| 100 | 48% |\n| 108 | 50% |\n| 300 | 70% |\n| 383 | 75% |\n| 600 | 82% |\n| 1500 | 94% |\n\nAs you can see, if you choose 50 words wisely, you can already understand 36% of APIs in basic C#, \nassuming obviously that you understand programming concepts already. And if you choose 108 words, you can read 50% of API surface.\n\n## ASP.NET Core\n\n| Vocabulary size | % of API surface comprehensible |\n| --------------: | ------------------------------: |\n| 50 | 35% |\n| 100 | 47% |\n| 112 | 50% |\n| 300 | 70% |\n| 384 | 75% |\n| 600 | 82% |\n| 1500 | 94% |\n\n## With Desktop\n\n| Vocabulary size | % of API surface comprehensible |\n| --------------: | ------------------------------: |\n| 50 | 33% |\n| 100 | 44% |\n| 138 | 50% |\n| 300 | 65% |\n| 486 | 75% |\n| 600 | 78% |\n| 1500 | 91% |\n\n\n# References\n\n- https://download.wikdict.com/dictionaries/sqlite/2_2024-03/","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkant2002%2Fmetadatadumper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkant2002%2Fmetadatadumper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkant2002%2Fmetadatadumper/lists"}