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

贡献者指南