Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Refactor] Refactor Language keyboards objects to follow SOLID principles #377

Open
2 tasks done
damien-rivet opened this issue Oct 31, 2023 · 0 comments
Open
2 tasks done
Labels
feature New feature or request help wanted Extra attention is needed refactor Refactor code to improve quality

Comments

@damien-rivet
Copy link
Contributor

Terms

Description

The LanguageKeyboards group contains sub-groups for each supported languages by Scribe.

Those sub-groups contains files that exposes app level functions and enums that are all similar but are not following any strict protocol.

The end goals here would be the following:

  • Extract all the keyboards related constants into a dedicated package / framework within a common workspace file
  • Expose dedicated protocols for language keyboards that exposes the required functions and constants
  • Refactor all language keyboards to adhere to the newly created protocols
  • Refactor the Info.plist to move the constants into a single localised file and create custom Build Settings to exposes the constants to a single Info.plist file (or find another solution)
  • Extract all the common keys between keyboard to constants to avoid manually hardcoded strings
  • Add unit tests to ensure each language keyboard is working has expected

Contribution

No response

@damien-rivet damien-rivet added the feature New feature or request label Oct 31, 2023
@andrewtavis andrewtavis added help wanted Extra attention is needed refactor Refactor code to improve quality labels Oct 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request help wanted Extra attention is needed refactor Refactor code to improve quality
Projects
Status: Todo
Development

No branches or pull requests

2 participants