Tag: Swiftlint

SwiftLint —实现代码库一致和样式约定的方法

SwiftLint是用于实施Swift样式和约定的开源工具。 它是由Realm开发的。 您可以设置不同的编码样式规则,并在新项目和现有项目的开发过程中强制使用它们。 SwiftLint具有命令行工具,Xcode插件,AppCode和Atom集成。 因此,它始终适合您的开发环境。 如果您违反棉绒规则,它将向您显示警告和/或错误。 步骤1.安装工具 将快速线添加到Pod文件并执行Pod安装。 吊舱“ SwiftLint” 步骤2.在构建中运行脚本 “ $ {PODS_ROOT} / SwiftLint / swiftlint” 现在,无论何时构建目标,Swiftlint都会自动运行。 如果使用现有项目运行,则可能会有警告/错误。 这是因为使用了默认规则。 步骤3.自定义规则 您可以找到所有规则。 默认情况下,启用约70%。 您可以使用项目根文件夹中的.swiftlint.yml文件来自定义规则。 让我们看一下如何创建.swiftlint.yml文件以及配置文件如何工作: #您可以禁用默认情况下已启用的规则 disabled_rules: -标识符名 -force_cast #同样,您可以启用默认情况下已禁用的规则 opt_in_rules: -first_where #排除您不想掉线的目录 排除: -豆荚 – 快车道 #使用“ xcode”,以便在构建时,结果将显示在Xcode中 记者:“ xcode” #其他记者:json,csv,checkstyle,junit,html,表情符号 #默认情况下,“ function_body_length”规则在40时触发警告,在100时触发错误 #这个例子增加了3倍 function_body_length: 警告:120 错误:300 为您的项目创建.Swiftlint.yml 1 —打开终端: CD …到您的项目路径 2-创建文件: […]

使用SwiftLint作为Git预推钩

SwiftLint是由Realm的优秀人员开发的开源工具,可帮助维护Swift代码标准并强制用户适应最佳的编码规则和实践。 使用SwiftLint,您可以编写自己的代码规则并强制团队遵循它们。 SwiftLint不仅可用于CocoaPods,还可以使用命令行工具AppCode,Atom甚至Fastlane进行应用。 它甚至支持多个swift版本,并直接挂钩到SourceKit,因此随着swift的发展,它将继续有效。 就像其他版本控制系统一样,Git还提供了一种为过程中的某些特定事件触发一些自定义脚本的方法。 这些事件主要分为两个池,客户端和服务器端。 客户端挂钩由与提交,推送和合并相关的动作触发,这些动作可以进一步处理事前和之后的事件,而服务器挂钩与与网络相关的事件(如接收提交等)更相关-服务器端可以利用与提交,合并和推送相关的事件钩。 挂钩确实非常强大,因为我们知道开发人员在将有价值的代码推送到服务器之前必须确保很多事情,因此挂钩可以帮助您定义一些脚本,这些脚本可以防止您推送错误的未格式化代码甚至运行测试用例。 挂钩可以通过多种方式安装: 进行符号链接时,可以使用存储库本身来推动它们。 它们可以放在仓库的git文件夹中。 可以将它们安装为在所有存储库上全局工作。 (2.9以上版本) 我们将在本文中介绍第三种方法。 1.更新Git(如果尚未更新) Xcode确实在您的机器上安装了Git,但是如果您仍然想检查和更新git版本,也可以按照以下步骤进行: 打开终端并检查您的git版本(已更新) $ git –versiongit版本2.15.1(Apple Git-101) 备份Apple Git $ sudo mv / usr / bin / git / usr / bin / git-apple 如果尚未安装Homebrew $ / usr / bin / ruby​​ -e“ $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)” 更新酿造 $ brew更新&& brew升级 最后安装Git并进行符号链接,并确保检查其版本 […]

SwiftLint最简单的配置

一种基于Swift样式指南的,用于实施Swift样式和约定的工具。 SwiftLint帮助我们在项目中编写了更好的代码,对于我们和团队来说,我们不必担心同一行或下一行中的方括号,查看具有1000行或强制展开变量的控制器。 这篇文章是关于使用自定义规则和cocoapods以最简单的方式将其放入项目中的工具的。 首先… 在Mac中安装homebrew:https://brew.sh /usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)” 2.在终端中安装SwiftLint: brew install swiftlint 3.在您的Podfile中添加SwiftLint: Pod’SwiftLint’ 如果您的项目中没有cocoapods,我强烈建议您签出:https://medium.com/@AyunasCode/how-to-install-cocoapods-52c523f73a63 4.让我们去Xcode! 4.1在打开项目的情况下,转到导航器。 4.2单击您的项目名称。 4.3单击目标,然后转到构建阶段选项卡。 4.4单击+图标 4.5添加脚本阶段: “ $ {PODS_ROOT} / SwiftLint / swiftlint” 5.好的,清理并构建您的项目,然后…屏住呼吸,如果您是人类,您的项目现在会有大量的警告甚至错误(强制展开),但是请耐心等待! Podfile的框架创建了很多这样的内容,在警告和空格之间加上了括号和单词之间的空格。 保持冷静和.swiftlint.yml 该文件将控制规则以及swiftlint框架的透明性,从而解决几乎所有不需要的警告。 还记得Brew安装吗? 我们是本教程的第一步吗? 你需要这个朋友 6.在项目中添加一个名为.swiftlint.yml的新空文件。 如果.swiftlint.yml没有正确缩进,则此命令将不起作用,并且终端将显示所有先前的警告 在框架中进行此更改后,您所需要做的就是在Xcode中构建项目,并修复所有与Swift Style Guide无关的内容。 我希望本文能帮助开发人员加快此配置过程,并帮助您处理编写代码的方式。 将来对您和您的团队都更好!

兄弟,你甚至连SwiftLint吗?

遵循准则或样式代码约定编写代码应该是您的核心实践之一。 而且我知道有时是不自觉的,或者是因为匆忙中我们在这里到处都是小事:方法实现时间太长,代码行很长,双折行,逗号后没有空格, -> …之间没有分隔,今天,我将写有关SwiftLint的工具,该工具将在编写代码时帮助我们强制执行样式和约定。 SwiftLint是Realm的一种工具,大致基于GitHub的Swift样式指南,用于实施Swift样式和约定。 使用SwiftLint可以帮助您接受样式和代码约定,这将为您带来一些好处,例如: 您的代码将更加清晰易读 您的代码将更具可维护性和可扩展性 您的代码将易于测试和调试 您将在所有项目中保持代码一致性 SwiftLint将检查您的代码,并识别语法和样式错误。 您将能够轻松地识别出这些内容,因为在编写代码时,您会在Xcode中看到类似的内容。 您可以通过几种方式安装SwiftLint,但我个人很喜欢使用CocoaPods方式。 当您与团队合作时,它特别方便,并且是安装特定版本的SwiftLint的推荐方法,因为它支持安装固定版本而不是简单版本(Homebrew就是这种情况)。 要将SwiftLint与CocoaPods一起安装: 只需将以下行添加到您的Podfile中: 吊舱“ SwiftLint” 2.在Xcode项目中添加新的“运行脚本阶段”,内容如下: “ $ {PODS_ROOT} / SwiftLint / swiftlint” SwiftLint有超过75条规则,您可以在此处查看列表。 好处是,您可以控制启用或禁用哪个规则,并可以为给定规则设置警告和错误的阈值。 只需在项目目录中添加.swiftlint.yml文件即可。 您可以在这里看到更多信息。 仅供参考:您可以在此处看到我预定义的.swiftlint.yml文件。 启用代码中的禁用规则 如果要启用或禁用特定于行或文件的规则,则可以使用某些功能。 可以通过以下格式在源文件中添加注释来禁用规则: // swiftlint:disable [ …] 规则将一直禁用,直到文件末尾或短绒棉纸看到匹配的启用注释: // swiftlint:enable [ …] 也可以通过添加:previous , :this或:next来修改disable或enable命令,以仅将命令分别应用于上一行,本行(当前)或下一行。 // swiftlint:disable:next // swiftlint:disable:this // swiftlint:disable:previous 在这里查看更多。 资料来源和阅读建议: SwiftLint […]

如何避免在协作Xcode项目中出现混乱

您经历了多少次,以自己的方式用自己的风格进行编码非常自在,但是突然之间,您的团队从只有您一个开发人员的团队成长为由五个人组成的团队? 并非每个人都会对您组织代码和样式的方式感到满意,因为我们每个人都有自己的方法。 您能想象一个由六个开发人员组成的团队在不共享任何准则的情况下进行编码吗? 它很容易失控,很可能变得非常混乱! 这就是SwiftLint进行救援时的特殊情况。 这是怎么回事? 在深入探讨之前,让我们先了解一些概念。 什么是短绒/棉绒? 短绒(或称棉绒)是指一种工具,可以分析源代码以查找编程或风格错误,错误和可疑结构。 什么是SwiftLint? SwiftLint是一种宽松的工具,用于强制执行Swift样式和约定,大致基于GitHub的Swift样式指南。 它与Clang和SourceKit挂钩,以使用源文件的AST表示形式寻找更准确的结果。 安装 您可以通过多种方式在Mac上安装SwiftLint,但最常见和最简单的方法是使用Brew: 酿造安装swiftlint 如果您不熟悉Homebrew,并且想要通过Cocoapods,Mint安装它或使用预构建的软件包,则可以查看文档。 Xcode和项目配置 现在我们完成了安装,有必要配置我们的项目以运行SwiftLint。 为了允许Xcode运行swiftlint命令,您必须为目标创建一个运行脚本。 您将必须在Xcode中选择项目,选择相应的目标,转到Build Phases选项卡,单击+按钮,然后选择New Run Script Phase 。 然后粘贴以下代码。 如果哪个swiftlint> / dev / null; 然后 swiftlint 其他 echo“警告:未安装SwiftLint,请从https://github.com/realm/SwiftLint下载” 科幻 您的构建阶段应该像这样结束。 注意:您可以重命名默认的构建阶段名称。 就我而言,我将其命名为“ Swiftlint”。 现在,您可以构建(⌘ + B)您的项目。 完成后,您的项目中将显示一些错误或警告,如下所示。 警告! 让我提前告诉您,如果您使用任何依赖项管理器,我们集成的第3方库也将出现错误。 这就是您可能会想“地狱,我不需要这个。 我可以没有短毛猫生活”,但还不要失去信心! 您可以创建配置文件以自定义要运行的规则,不运行的规则,还可以为任何特定规则设置特殊参数。 因此,让我们对其进行配置。 首先,您需要与Xcode项目位于同一文件夹级别。 .swiftlint.yml 您可以使用vi or touch或所需的任何其他文本编辑器。 […]

实施Swift样式和约定的工具:SwiftLint开始

基于SwiftLint的Swift代码皮棉的介绍。 您可以使用不同的方法安装SwiftLint。 1.可可豆 吊舱“ SwiftLint” 另外,如果您通过CocoaPods安装了SwiftLint ,则脚本应如下所示: “ $ {PODS_ROOT} / SwiftLint / swiftlint” 2.自制 酿造安装swiftlint 3.薄荷 $ mint run realm / SwiftLint 对于这些,您只需添加一个新的运行脚本阶段即可 : 如果哪个swiftlint> / dev / null; 然后 swiftlint 其他 回声“警告:未安装SwiftLint,请从https://github.com/realm/SwiftLint下载” 科幻 使用XCode插件 要在Xcode中保存时运行swiftlint autocorrect ,请从Alcatraz安装SwiftLintXcode插件。 您也可以将“ SwiftLint”与其他编辑器集成在一起。 应用程式码 要将SwiftLint与AppCode集成,请安装此插件,并在插件的首选项中配置SwiftLint的安装路径。 可通过available使用自动⌥⏎ 。 要将SwiftLint与Atom集成,请从APM安装linter-swiftlint软件包。 您可以在swiftlane流程中使用swiftlint fastlane官方操作来运行SwiftLint。 swiftlint( 模式::lint,#SwiftLint模式::lint(默认)或:autocorrect 可执行文件:“ Pods / SwiftLint / […]