Files
SubMiner/backlog/tasks/task-10 - Consolidate-service-naming-conventions-and-barrel-exports.md
2026-02-11 09:33:47 -08:00

1.5 KiB

id, title, status, assignee, created_date, labels, milestone, dependencies, references, priority
id title status assignee created_date labels milestone dependencies references priority
TASK-10 Consolidate service naming conventions and barrel exports To Do
2026-02-11 08:21
refactor
services
naming
Codebase Clarity & Composability
src/core/services/index.ts
low

Description

The service layer has inconsistent naming:

  • Some functions end in Service: handleCliCommandService, loadSubtitlePositionService
  • Some end in RuntimeService: replayCurrentSubtitleRuntimeService, sendMpvCommandRuntimeService
  • Some are plain: shortcutMatchesInputForLocalFallback
  • Factory functions mix create*DepsRuntimeService with create*Service

The barrel export (src/core/services/index.ts) re-exports 79 symbols from 28 files through a single surface, which obscures dependency boundaries. Consumers import everything from ./core/services and can't tell which service file they actually depend on.

Establish consistent naming:

  • Exported service functions: verbNounService (e.g., handleCliCommand)
  • Deps factory functions: create*Deps
  • Consider whether the barrel re-export is still the right pattern vs direct imports from individual files.

Acceptance Criteria

  • #1 All service functions follow a consistent naming convention
  • #2 Decision documented on barrel export vs direct imports
  • #3 No functional changes