scribe-org/Scribe-iOS

[Refactor] Refactor Language keyboards objects to follow SOLID principles

Open

#377 opened on 2023年10月31日

GitHub で見る
 (0 comments) (2 reactions) (0 assignees)Swift (106 forks)auto 404
help wantedrefactor

Repository metrics

Stars
 (167 stars)
PR merge metrics
 (PR metrics pending)

説明

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

コントリビューターガイド