Skip to content

Latest commit

 

History

History
105 lines (60 loc) · 6.97 KB

File metadata and controls

105 lines (60 loc) · 6.97 KB

Dev efficiency — sample report

Illustrative example with anonymized data (author jnovak, repo webapp). Shows the target structure for interpreting the raw output sample-raw.md.

Author: jnovak · Window: 2024-01 → 2026-01 (2 years) · Repos: 12 local, deep analysis over webapp (~1200 commits) Standards: DORA (Change-Failure proxy) · SPACE (Activity, well-being) · CodeScene (rework, hotspots, coupling, ownership) · MS Research (relative churn)

Metrics are proxies, not truth. Most trustworthy: commit throughput, rework %, function CCN, ownership. Indicative (skewed by generated code / commit-message discipline): line sums, corr %.


🟢 Summary

Stable volume, small batches, declining rework and a rising test habit — a healthy profile. Watch one knowledge concentration.

Dimension Verdict Trend
Work volume (throughput) 🟢 stable ~40–53 commits/month
Batch size 🟢 healthy median ~24–31 lines
First-pass quality (rework) 🟢 better 31 % → 24 %
Test co-change 🟢 improving 49 % → 66 %
Production stability (hotfix/revert) 🟢 calm ~0–1 hotfix/month, few reverts
Defect hotspots 🟡 one dominant Controller/Admin/Order.php
Functional complexity (CCN/Δcx) 🟢 reasonable avg ~8–9, Δcx tapering
Complexity hotspots 🟡 one dominant Controller/Admin/Order.php
Change coupling 🟡 expected pairs localization + Cart layers
Code-health trend 🟢 flat cx/kLOC ~105 → 104
Work rhythm (sustainability) 🟢 sustainable off-hours 5–7 %, weekend ~0 %
Ownership / bus factor 🟡 concentration 41 solo files

Yearly overview (from the rollup): 2024 → 2025 — rework 30 % → 24 %, test co-change 49 % → 66 %, Δcx +410 → +130 (complexity growth slowing), corrective 34 % → 28 %. Both full years, so no partial-year (*) caveat.

Conclusion: the work is volume-consistent, in small digestible batches, with declining rework and a strengthening test habit — you write things that last. Two things to watch: (1) Controller/Admin/Order.php is both a defect magnet and the most expensive file to maintain — a candidate for breaking up; (2) you hold 41 files practically alone, and you're the last toucher of 58 — bus-factor risk.


1) Throughput — how much and in what batch sizes

Legend: commits = your commits (cross-project, only those touching code) · median/p90 batch = median/90th percentile of churn per commit · big % = share of commits > 400 lines · cpd = commits per active day.

Assessment: 🟢 Volume holds at ~40–53 commits/month, median batch 24–31 lines = small commits (trunk-based ideal), big % only 4–6 %, ~2.6 commits/active-day. The line sum looks higher because of generated code, so trust the median, not the sums.

2) Rework rate — first-pass quality

Legend: rework % = share of churn on code anyone touched within --rework-days (default 14) · churn = add+del on code.

Assessment: 🟢 Declining 31 % → 24 % — the first pass holds up better and better, little rewriting of fresh code.

3) Test co-change — do code changes bring tests along

Legend: prod = commits touching production code · +tests = those that also touch a test · test % = the ratio. Message-independent, so it survives sloppy commit prefixes.

Assessment: 🟢 Rising 51 % → 68 % monthly (49 % → 66 % year over year) — a strengthening habit of shipping tests with code, the cleanest leading indicator of first-pass quality here.

4) Corrective vs value-add — fixing vs creating

Legend: value = Feature/Refactoring · fix = Fix · hotfix = production fire (DORA Change-Failure) · revert = undo (subset of fix) · corr % = (fix+hotfix)/total.

Assessment: 🟢 corr % ~29–33 % with a value-add majority; hotfixes ~0–1/month and reverts rare (9 over two years) = production stability is good.

5) Defect hotspots — where your Fix commits land

Legend: fixes = occurrences of the file in your Fix/Hotfix commits · cx = file complexity.

Assessment: 🟡 Controller/Admin/Order.php (14 fixes, CCN 318) is a clear defect magnet, followed by Service/Payment/Gateway.php (9). High complexity + many fixes = a refactoring priority.

6) Functional changes — how complex is the code you change

Legend: avg/med/max CCN = cyclomatic complexity of the touched functions (>15 risky, >50 severe) · fn changed = number of touched functions · Δcx = net complexity your commits add vs remove (negative = you simplified).

Assessment: 🟢 avg CCN ~8–9, minimal severe functions (0–1/month). Δcx is positive but tapering (+74 then -12 monthly; +410 → +130 YoY) — you're adding complexity more slowly, with months of net simplification.

7) Complexity hotspots — most expensive to maintain

Legend: score = touches × cx (change frequency × complexity).

Assessment: 🟡 Controller/Admin/Order.php is by far the most costly (score 18 204), an order of magnitude above the rest. Investing in breaking it up pays off the most.

8) Change coupling — what you change together

Legend: degree = how often a pair goes hand in hand (shared / min revs). High = hidden dependency / missing abstraction.

Assessment: 🟡 lang/en.phplang/cs.php (92 %) — bilingual content is edited by hand, a candidate for a shared source. Controller/Cart.phpService/Cart.php (78 %) is expected layering. No surprising coupling between unrelated modules.

9) Code-health trend — complexity over time

Legend: cx/kLOC = total complexity per 1000 lines of code, sampled from git-archive snapshots (--health-trend). Flat or falling = the codebase isn't decaying as it grows.

Assessment: 🟢 cx/kLOC is essentially flat (~105.1 → 104.2) while LOC grows — complexity is being added in proportion, not faster. No drift.

10) Sustainability — work rhythm

Legend: off-h % = outside 8–19 (set via --off-hours) · weekend % = Sat/Sun · longest streak = consecutive days with a commit. Trend > absolute number.

Assessment: 🟢 off-hours 5–7 %, weekends ~0 %, longest streak 7 days = sustainable rhythm, you keep your breaks.

11) Ownership / bus factor — how much code rests on you

Legend: share = your churn / repo churn (full history), also recency-weighted (fresh churn counts more) · solo = files ≥80 % yours · last = files where you committed most recently (bus-factor risk).

Assessment: 🟡 Share of the repo 18 % (recency-weighted 23 % — your recent work is concentrated), but you hold 41 files solo and are the last toucher of 58. Key territory: Service/Order/StateMachine.php (94 %, still yours), Model/Subscription.php (88 %, but someone else touched it last). For the most critical ones, ensure a second pair of eyes / documentation.


Generated from gitmetry (read-only over git). Raw data: sample-raw.md.