Automattic / Automattic/Automattic-Tracks-iOS

Does `CrashLoggingDataProvider` need to exist as a `protocol`?

Open
#221 2 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.