scribe-org/Scribe-iOS

[Refactor] Refactor Language keyboards objects to follow SOLID principles

Open

#377 aperta il 31 ott 2023

Vedi su GitHub
 (0 commenti) (2 reazioni) (0 assegnatari)Swift (106 fork)auto 404
help wantedrefactor

Metriche repository

Star
 (167 star)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

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

Guida contributor