scribe-org/Scribe-iOS

[Refactor] Refactor Language keyboards objects to follow SOLID principles

Open

#377 aberto em 31 de out. de 2023

Ver no GitHub
 (0 comments) (2 reactions) (0 assignees)Swift (106 forks)auto 404
help wantedrefactor

Métricas do repositório

Stars
 (167 stars)
Métricas de merge de PR
 (Métricas PR pendentes)

Description

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

Guia do colaborador