Skip to content

Swift 糟糕设计

隐式导入

  • 一个项目所有符号都在全局.
  • 导致学习 Swift 时不清楚每个符号的来源.
    • 难以了解模块依赖和 in-out 功能.
    • 比如 ARView 实际上不是 ARKit 而是 RealityKit
  • no namespace
    • 只能用 class 模拟 namespace

好处: - 随便改变文件夹结构不用重写 import.

隐式 self

  • 难以阅读函数符号是全局函数还是成员函数.
    • 两者依赖的状态完全不同.

struct 和 class 区分

  • 额外的心智负担,而灵活性又不高.