Automattic / Automattic/Automattic-Tracks-iOS
Does `CrashLoggingDataProvider` need to exist as a `protocol`?
- Dominant language
- Swift
- Stars
- 47
- Forks
- 15
- Avg merge
- 7h 58m
- Merged PRs (30d)
- 1
Description
While working on #220, I was surprised to see `CrashLoggingDataProvider` as a `protocol` when the role it has in the code is that of a value type carrying configuration values.
If there's no external constraint on it being a `protocol`, I propose to convert it into a `struct`.
Having it as a `struct` would mean clients can create an instance directly, without the cruft of implementing a custom type conforming to it.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating CrashLoggingDataProvider and reading the context from issue #220, then inspect how clients and conforming types use it. Check whether any external constraint requires a protocol; done means the type can be changed to a struct without breaking the existing API or callers, with relevant tests still passing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- mobile-dev
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100