Scribe-iOS icon indicating copy to clipboard operation
Scribe-iOS copied to clipboard

[Refactor] Refactor Language keyboards objects to follow SOLID principles

Open damien-rivet opened this issue 2 years ago • 0 comments

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 avatar Oct 31 '23 13:10 damien-rivet