一尘不染

Swift中的嵌套类型-什么是最佳实践?

swift

swiftlint警告我。

warning: Nesting Violation: Types should be nested at most 1 level deep (nesting)

然而,结构的嵌套是既定的编程技术,以及相当一些人在坚持它。

编辑:确实@vadian指出了Swift语言指南的规则:
要将类型嵌套在另一个类型中,请在其支持的类型的大括号内写入其定义。 类型可以嵌套到所需的多个级别

我知道它与泛型的使用发生冲突,并且Xcode可能会变得异常缓慢。实际上(通过测量最慢的编译点)是我开始研究此嵌套规则的原因。

实行皮棉规则的原因是什么?在这方面的良好做法是什么? 请指出技术原因,而不是纯粹基于意见的建议。

Microsoft实际上有一个有关嵌套类型以及何时合适的页面。尽管它不是针对Swift的,但它确实具有一些有趣的跨语言思想。


阅读 387

收藏
2020-07-07

共1个答案

一尘不染

经过大量搜索后,我发现@jpsim的评论是“嵌套规则背后的想法是避免复杂的接口”。

因此,除了我的问题中概述的编译器问题(这些问题最终会消退)之外,似乎 没有 任何技术原因可适用此规则。

2020-07-07