Overview › Code Quality & Maintainability
Code Quality & Maintainability
197 TODO/FIXME hot-spots and Java/Kotlin split create maintenance drag.
65
SCORE
Summary
New Kotlin code is largely idiomatic, but the codebase carries significant technical debt: 197 TODO/FIXME/HACK markers across 88 files, ~9,000 Java files alongside ~4,300 Kotlin files, and uneven naming/structure between feature modules.
Findings
HIGH
197 TODO/FIXME/HACK markers across 88 files
Hot-spots include
ProductAccordionProductDetailSheet (6 markers) and TieredOfferCardComponent (10 markers).Recommendation: Triage every TODO into a tracked issue with an owner and due date; fail CI on unattributed
TODO via Detekt rule ForbiddenComment.MEDIUM
Likely duplication / similar utilities
Multiple shared modules with overlapping names (
util, blankutil, common) suggest duplicated helpers.Recommendation: Run
jscpd or IDE Duplicate Code analyzer; consolidate into a single shared/util module.MEDIUM
Mixed naming conventions across modules
Some modules use
presentation/component, others ui/component; some files use *Component.kt for Composables, others *Screen.kt.Recommendation: Adopt and document a naming convention (e.g.
*Screen.kt for top-level Composables, *Component.kt for reusable Composables) and enforce via Ktlint rule.LOW
Java/Kotlin file co-location
Most legacy Java sits under
Costco/src/main/java/ alongside Kotlin. While Java/Kotlin can compile together, it makes refactor scope-of-impact harder to reason about.Recommendation: Track conversion progress in a Java-to-Kotlin burn-down dashboard.
INFO
Test-progaurd-rules.pro typo
Costco/test-progaurd-rules.pro contains a typo (progaurd).Costco/test-progaurd-rules.pro
Recommendation: Rename to
test-proguard-rules.pro (and update Gradle reference).Quality Tooling Suggested
| Tool | Purpose | Status |
|---|---|---|
| Detekt | Kotlin static analysis | Confirm presence; if absent, add |
| Ktlint | Style/format | Confirm presence |
| Android Lint baseline | Existing-issue freeze | Likely present |
| SonarQube / SonarCloud | Coverage + smell trending | Recommend integrating with Azure Pipelines |
| jscpd | Duplicate detection | Recommended |
Specific findings in this category
Costco Android · Code Review Report · Generated 2026-05-07 · 626 machine-curated findings