repowiserepowise
Sign in
dapperlib/dapper
OverviewDocsArchitectureKnowledge GraphFilesCode HealthSecurityRefactoring

People & History

CommitsContributorsDecisions
Chat
Stats
repowiserepowise
ExplorePricingDocs
Sign in
repowisedapperlib/dapper
DA
DA

dapperlib / dapper

csharpmain72a54c420.9K linessynced 1mo ago

Code health

7.2out of 10Good

This codebase scores 7.2 out of 10 for code health, which we rate good. It also scores maintainability 7.3 and static performance 9.7 out of 10. The three are scored separately and never blended into one number.

Full health report →
Documentation285pages0 with model-written prose, 285 built from the indexDead code36exportsUnused exports that nothing in the graph reaches

Do next

1 thing worth doing this quarter.

Worth planning

  • Delete 35 unused symbols and files (1,738 lines)

    Nothing in the graph reaches them, across 32 files; every reader and agent pays to skip them.

    symbols
    35
    lines
    1,738
    safe to delete
    Yes(inferred)
    Medium effort

Improve what Repowise can see

  • Add a test coverage report

    Without one, Repowise cannot tell tested code from untested code, so every test-related action says “unknown”.

    line coverage
    Unknown, no report
    Small effort
  • Review the 12 proposed decisions

    None is accepted yet, so nothing can drift from one and agents get no enforced guidance from them.

    proposed
    12
    accepted
    0
    Medium effort
Lines of code
20.9K
Files
174
Symbols
3,203
Modules
7
Languages
1

Recent activity

All commits →

Commits

  • 72a54c47Add ReferenceTrimmer and remove unused references (#2191)4mo ago
  • 953f3718keep deps up to date (#2204)4mo ago
  • 2a8faab2Fix/prefer typehandlers for enums (#2200)4mo ago
  • 512f0246Make private & internal classes sealed and less enumeration of lists & LINQ (#2197)5mo ago
  • 464cb337Update dependencies (#2202)5mo ago
  • b9bdd7c4Fix segfault when ICustomQueryParameter is a value type (#2189) (#2198)5mo ago

Decisions

  • Upgrade to 3.0 tooling and remove old #if/tooling cruftproposed · 1mo ago
  • Use InvariantCulture for FlexibleConvert DateTime conversionproposed · 1mo ago
  • Improve SplitOn error messageproposed · 1mo ago
  • Add UseGetFieldValue to avoid npgsql global deserializer issuesproposed · 1mo ago
  • Add missing untyped ReadUnbufferedAsync API and remove impossible branchproposed · 1mo ago
  • Fix correctness of First APIs and improve QueryUnbufferedAsync cancellation behaviorproposed · 1mo ago
▸

Everything we found

323 open

Every detector's open count by area, each with its worst example. An inventory, not a to-do list: the actions above are the part worth doing.

  • worst item is critical severity. Code health167Function hotspot · Dapper/SqlMapper.Async.cs19 findings · 7.5 deducted→
  • worst item is medium severity. Decisions12Upgrade to 3.0 tooling and remove old #if/tooling cruft12 awaiting review→
  • worst item is medium severity. Ownership103tests/Dapper.Tests/PreferTypeHandlersForEnumsTests.cs100% single-owner concentration, 1 commits in 90d→
  • worst item is low severity. Dead code41Dapper.ProviderTools/DbConnectionExtensions.csUnreachable symbol (160 lines)→

Composition

Open the graph →
csharp 100%

Explore this codebase

  • Docs285 pages across 7 modules→
  • ChatAsk this codebase a question and get an answer with its sources.→
  • Files174 files with per-file docs, health and history→
  • ArchitectureDependency graph, layers, and 3 entry points→
  • Code healthPer-file scores, 246 open findings, coverage and refactoring targets→
  • Knowledge graphEntities, communities, and the paths between them→
  • Change couplingFiles that keep changing together, mined from commit history→
  • CommitsChange-risk ranked history with agent provenance→
  • ContributorsBus factor, per-file maintainers, and the human/agent split→
  • StatsSize class, origin, lifetime churn, rhythm and records→
  • CostsWhat indexing this snapshot cost, by model and by run.→