gpt4 book ai didi

Swift – 函数体长度违规或行长度违规

转载 作者:行者123 更新时间:2023-12-03 23:42:40 24 4
gpt4 key购买 nike

我在 Xcode (swift) 上有一个函数,它返回一个很长的数组,即每行一个单词。喜欢

static func en() -> [String] {
[
"a",
"about",
"above",
"after",
"again",
"against",
"all",
"am",
...
当我尝试编译它时,我得到:
Function Body Length Violation: Function body should span 40 lines or less excluding comments and whitespace: currently spans 175 lines (function_body_length)
如果我尝试删除换行符并添加空格,我会得到这个
Line Length Violation: Line should be 120 characters or less: currently 1492 characters (line_length)
我认为问题是 SwiftLint。
我该如何解决这个问题?如何禁用此错误。

最佳答案

选项 1:调整您的布局或设计
您的问题似乎是由源代码中的一长串英文单词引起的。
每行一个项目和包含所有项目的一行之间的简单方法是 将此数据分布在几行 :
1492 个字符分解为 120 行得到 13 行。如果您考虑 4.7 的平均英语单词长度(在您的情况下,平均不可分割的标记长度为 6.7 并带有引号,您可能不得不将一些单词移到额外的行上。进行数学计算,平均而言,额外的行必须包含 88 个额外的字符 (6.7*13) 所以第 14 行。鉴于 175 行限制,您仍然有足够的边距;-)
更好的方法是将数据存储在文件和 中。在运行时将数据动态加载到数组中 .您不仅不会超重您的源代码,而且,您还可以使用新词促进列表的维护以及国际化。
选项 2:配置你的 linter
相对较小的行长度和正文长度限制与语法或编译器限制无关。它的静态分析规则旨在挑战您编写更具可读性的代码。
您可以 disable the rules :

  • 在项目级别,在文件 .swiftlint.yml
  • 在源代码中,带有注释 // swiftlint:disable <rule1> [<rule2> <rule3>...]

  • 您可以通过 line_length 找到实际示例。在此 SO question

    关于Swift – 函数体长度违规或行长度违规,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64843382/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com