我有一个swiftlint
令我困扰的警告。
warning: Nesting Violation: Types should be nested at most 1 level deep (nesting)
编辑:确实@vadian 指出了Swift 语言指南的规则:要将一个类型嵌套在另一个类型中,请将其定义写在它支持的类型的外大括号内。类型可以根据需要嵌套到任意多的级别。
我知道它与泛型的使用发生冲突,并且 Xcode 可能会变得慢得难以忍受。这实际上是(通过测量最慢的编译点)我开始研究这个嵌套规则的原因。
lint 规则的原因是什么,在这方面有什么好的做法?请指出技术原因,而不是纯粹基于意见的建议。
Microsoft 实际上有一个关于嵌套类型的页面,以及它们何时合适。虽然它不是针对 Swift,但它确实有一些有趣的跨语言思想。