Swift开发是否建议为每个struct/class单独创建.swift文件?
Swift项目是否需要每个struct/class都单独创建.swift文件?
这并不是强制遵守的通用规范,实际开发中要结合类型的场景、代码量、团队规范灵活判断,没有绝对的对错。
建议单文件仅放一个类型的情况
- 类型代码量较大:如果单个class/struct包含上百行的属性、方法、协议实现,单独拆分为对应名称的
.swift文件,能大幅提升查找效率,团队协作时其他人也可以直接通过文件名快速定位到对应类型的代码,不需要在大文件中反复翻找。 - 对外暴露的公开类型:如果是
public/open级别的模块接口类型、通用组件类型,单独存放更方便后续做接口管理、权限控制和文档生成。 - 中大型团队协作场景:多数成熟的中大型项目都会约定核心业务类型单独拆分文件,能有效降低多人修改同一份文件时的代码冲突概率。
可以多个类型共存于同一文件的情况
- 关联度极高的小类型:比如某个业务专属的模型struct,配套的自定义错误枚举、代理协议代码量都只有十几行,完全可以放在同一个文件中,反而比拆成多个零碎的小文件更方便集中查看上下文。
- 私有辅助类型:如果某个struct/class仅为同文件内的主类型服务、不会被其他文件调用,不需要单独拆分,直接放在主类型代码下方即可。
- SwiftUI相关代码:常规开发中
View结构体、配套的PreviewProvider、仅当前页面使用的小子View定义放在同一个文件中是非常普遍的操作,只要整体代码量不超过两三百行,不会影响可读性。
不用为了刻意遵守“单文件单类型”的原则拆分出大量只有几十行的零碎文件,核心判断标准是代码可读性和协作效率,只要同文件内的所有类型关联度高、整体代码量没有大到难以翻找,就不需要强制拆分。
内容的提问来源于stack exchange,提问作者Mykoliux
相关产品推荐
相关产品推荐

