Swift中的嵌套类型 - 什么是好的做法?

Khe*_*dar 8 swift swiftlint

我有一个swiftlint困扰我的警告.

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

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

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

我知道它与泛型的使用冲突,并且Xcode可能变得难以忍受地缓慢.它实际上是(通过测量最慢的编译点)我开始查看这个嵌套规则的原因.

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

Microsoft实际上有一个关于嵌套类型页面,以及它们何时适用.虽然它不是针对Swift的,但它确实有一些有趣的跨语言思想.

Khe*_*dar 6

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

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