首页 > 其他分享 >SwiftLint的安装和使用

SwiftLint的安装和使用

时间:2023-03-17 15:22:56浏览次数:39  
标签:安装 使用 SwiftLint length swiftlint error warning yml

1. SwiftLint的安装

brew install swiftlint

2. 再xcode中使用

  • 打开xcode 添加脚本文件
  • 添加完脚本文件之后,填入下方内容
if which swiftlint >/dev/null; then
swiftlint
#echo "skip"
else
echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint"
fi

  • 再 **.xcodeproj 的同一级目录下,新建 .swiftlint.yml 文件
# 方式1 先创建文件,再打开文件并编辑
$ touch .swiftlint.yml
$ vim .swiftlint.yml

# 方式2 直接创建文件并编辑
$ vim .swiftlint.yml

# 然后可以在.swiftlint.yml里面写你要禁用的规则,可以选择将一些触发warning的规则改为触发error

  • .swiftlint.yml 文件的内容如下
excluded: # 执行 linting 时忽略的路径。 优先级比 `included` 更高。
  - Carthage
  - Pods

line_length:
  warning: 350
  error: 450
  ignores_function_declarations: true
  ignores_comments: true

function_body_length: # 函数体长度
  warning: 300
  error: 350

identifier_name:
  min_length: # 只有最小长度
    error: 1 # 只有错误

type_body_length: # 类的长度
  warning: 2000
  error: 3000

file_length: # 文件长度
  warning: 2000
  error: 3000

cyclomatic_complexity: # 代码复杂度,默认为10
  warning: 30
  error: 35

force_cast: warning # 强制转换(代码中存在一些前面通过if判断过类型,后面做的强制转换的代码)
force_try: warning # try语句判断

disabled_rules: # 执行时排除舍弃的规则
  - trailing_whitespace # 每一个空行不能有空格,会与Xcode换行后自动对齐生成的空格冲突,建议排除掉加。
  - identifier_name # 命名规则必须按照驼峰原则(可能model中的某些字段与json字段命名冲突,建议排除掉)
  - type_name # 类型命名规则限制,以大写字母开头,且长度在1到20个字符之间
  - shorthand_operator # 使用+= , -=, *=, /=  代替 a = a + 1

  • 检验代码的效果

标签:安装,使用,SwiftLint,length,swiftlint,error,warning,yml
From: https://www.cnblogs.com/styCy/p/17226932.html

相关文章

  • .net6 使用iTextSharp操作PDF模板
       一、首先要通过Adobe制作好PDF模板,目前发现只能通过这个工具才能制作PDF模板Adobe自己去官网下载,不过官网是要订阅的。或者自己去找破解版也行;下载后废话不多......
  • RF环境安装简要操作步骤
    期间走了很多弯路,起初py3.9,版本相对较高,在基础上安装RF,一直失败无奈纠结各种出现的问题逐步解决,不肯放弃,但仍然无效最后只能退而求其次,选择降低版本 大致步骤如下:1.......
  • github注册以及安装教程
    github注册以及安装教程首先,我们了解一下github.gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git作为唯一的版本库格式进行托管,故名gitHub。github于......
  • 使用 lspci 和 setpci 调试 PCIe 问题
    lspci 命令和setpci命令均为Linux发行版中原生可用的命令。这2条命令均可提供多级输出,适合在不同时间点用于查看PCI总线上训练的不同组件的功能和状态。其中大......
  • 使用队列实现QQ号
    procedureTForm1.Button1Click(Sender:TObject);varqueue:TQueue;i:integer;s:string;beginqueue.head:=1;queue.tail:=1;fori:=1to9dobe......
  • EF的使用
    EF的使用123456Expression<Func<CustomerType, bool>>expression=c=>(c.Id!= null);<br>  var c= from u in ccc         ......
  • 程序安装及管理
    推荐步骤: 挂载Centos7系统光盘到/mnt目录,安装vsftpd程序,使用命令查询是否安装成功,查询vsftpd程序创建的文件和目录,卸载vsftpd程序,使用-U更新vsftpd程序 使用命令查看未......
  • idea使用tomcat部署项目失败总结
    情况①:无法访问localhost:8080页面解决办法:https://www.cnblogs.com/lwt280887072/p/16307489.html情况②:artifact项目:warexploded:Errorduringartifactdeployment......
  • 直播软件搭建,uniapp 之使用 u-upload 组件来实现图片上传
    直播软件搭建,uniapp之使用u-upload组件来实现图片上传一、官方示例用法uview1.0u-upload官方文档 <template><view><u-uploadref="uUpload":action="action"......
  • Linux安装python3 Centos7
    Linux安装python3Linux自带python2环境,以下是python3的安装步骤一、python3安装包下载地址:https://www.python.org/downloads/release/python-380/也可以使用wget命令下......