Skip to content

refactor: replace magic numbers with named carbon factor constants in… - #580

Open
ekwe7 wants to merge 6 commits into
Heliobond:mainfrom
ekwe7:calculations-use-undocumented-magic-numbers-instead-of-named-constants
Open

ekwe7 wants to merge 6 commits into
Heliobond:mainfrom
ekwe7:calculations-use-undocumented-magic-numbers-instead-of-named-constants

Conversation

@ekwe7

@ekwe7 ekwe7 commented Aug 31, 2026

Copy link
Copy Markdown

closes #470

Summary

Replaces undocumented magic numbers (0.05 and 0.5) in
src/routes/investor.ts with named, exported, and documented constants
(CARBON_OFFSET_FACTOR and CARBON_CREDIT_FACTOR), following the codebase's
existing pattern established in src/lib/scoring.ts.

Context & Motivation

Previously, the carbon calculation math in investor.ts used bare float
literals directly inside .reduce() and .map() callbacks. These numbers are
key inputs in converting solar power output and green impact scores into
investor-facing metric figures (total_carbon_offsets_tonnes and
carbon_credits_issued).

By extracting these as named constants:

• The intent behind the formula is clear and self-documenting.
• Any future adjustment to carbon offset or credit factors can land in a
single place.

Changes Made

• src/routes/investor.ts:
• Exported and documented CARBON_OFFSET_FACTOR = 0.05 (used in GET
/dashboard).
• Exported and documented CARBON_CREDIT_FACTOR = 0.5 (used in GET
/compliance-report and POST /custom-report).
• Updated carbon offset and credit calculations to reference these
constants.
• src/tests/investor.test.ts:
• Imported CARBON_OFFSET_FACTOR and CARBON_CREDIT_FACTOR.
• Added unit test suite verifying constant exports.

@drips-wave

drips-wave Bot commented Aug 31, 2026

Copy link
Copy Markdown

@ekwe7 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

investor.ts's carbon-credit/offset calculations use undocumented magic numbers (0.05, 0.5) instead of named constants

1 participant