scribe-org/Scribe-iOS

[Refactor] Refactor Language keyboards objects to follow SOLID principles

Open

#377 建立於 2023年10月31日

在 GitHub 查看
 (0 留言) (2 反應) (0 負責人)Swift (106 fork)auto 404
help wantedrefactor

倉庫指標

Star
 (167 star)
PR 合併指標
 (PR 指標待抓取)

描述

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

貢獻者指南