美文网首页
Swift代码规范--SwiftLint

Swift代码规范--SwiftLint

作者: Sivan113 | 来源:发表于2017-09-25 14:32 被阅读131次

    代码风格推荐

    1. 中文版
    2. 英文版
    3. Swift设计指南

    安装和使用SwiftLint

    • 第一步:先安装homebrew
      打开终端,输入以下命令
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
    • 第二步:安装SwiftLint
    brew install swiftlint
    
    // 更新/升级SwiftLint到最新版本
    brew upgrade swiftlint
    
    • 第三步:Xcode添加脚本
    if which swiftlint >/dev/null; then
        swiftlint
    else
        echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint"
    fi 
    
    3BADBC9C-73E9-48DE-A2C4-07C1BDB68EF9.png

    添加配置文件

    (1) 第一步:在想要执行代码风格检查的文件夹新建一个名为.swiftlint.yml的文件:cd 你要执行检查的文件,vim .swiftlint.yml
    (2) 第二步:自定义规则:

    • disabled_rules:禁用规则
    • opt_in_rules:从默认的可用规则集合中,禁用规则
    • whitelist_rules:白名单规则,只有在这个列表的规则才会被激活,在这个列表激活的规则不能出现在disabled_rules 或者 opt_in_rules
      自定义配置文件示例
    disabled_rules: # 禁用规则
      - colon
      - comma
      - control_statement
    opt_in_rules: # 可选规则
      - empty_count
      - missing_docs
      # 执行这个命令可以查看所有规则: swiftlint rules
    included: # 指定需要进行风格检查的路径
      - Source
    excluded: # 指定不需要进行风格检查的路径,优先于included
      - Carthage
      - Pods
      - Source/ExcludedFolder
      - Source/ExcludedFile.swift
    
    # 自定义某个规则
    force_cast: warning # 隐式地
    force_try:
      severity: warning # 显式地
    # 有warning和error的规则,可以仅仅设置warning
    # 隐式地
    line_length: 110
    # 使用一个数组隐式地设置
    type_body_length:
      - 300 # warning
      - 400 # error
    # 或者显式地设置
    file_length:
      warning: 500
      error: 1200
    # 命名规则可以为min_length和max_length设置warnings或者errors
    # 另外可以设置某些名字除外
    type_name:
      min_length: 4 # 只设置 warning
      max_length: # 同时设置warning和error
        warning: 40
        error: 50
      excluded: iPhone # 这些字符串除外
    identifier_name:
      min_length: # 只设置 min_length
        error: 4 # 只设置 error
      excluded: # 这些字符串除外
        - id
        - URL
        - GlobalAPIKey
    reporter: "xcode" # 指定报告类型 (xcode, json, csv, checkstyle, junit, html, emoji)
    

    (3) 第三步:项目中实际使用

    included:
        - TDWCashLoan/Business/Me/Credit
    excluded:
        - Pods
    disabled_rules:
        - trailing_newline
        - opening_brace
        - empty_count
        - comma
        - colon
        - force_cast
        - type_name
        - trailing_semicolon
        - force_try
        - function_body_length
        - nesting
        - variable_name
        - operator_whitespace
        - control_statement
        - legacy_constant
        - line_length
        - return_arrow_whitespace
        - trailing_whitespace
        - closing_brace
        - statement_position
        - type_body_length
        - todo
        - legacy_constructor
        - valid_docs
        - missing_docs
        - file_length
        - leading_whitespace
    

    (4) 第四步:swiftLint命令

    autocorrect  自动更正warnings和errors
    help         查看帮助
    lint         查看当前文件夹的文件中的warnings和errors,这是默认命令
    rules        查看所有规则
    version      查看SwiftLint的版本
    

    保险起见,先备份代码。先把所有想要检查的规则放大disabled_rules,然后每删除一个规则,保存一下,xcode编译一次(或者在终端执行swiftlint),一些规则可以自动解决,到具体的目录下执行:swiftlint autocorrect,如果不能自动解决,那么需要手动一个个改,直到所有规则删除完为止

    更新SwiftLint

    如果SwiftLint有新版本,在终端执行brew upgrade swiftlint,然后再编译一下,看看项目有哪些代码风格问题。

    相关文章

      网友评论

          本文标题:Swift代码规范--SwiftLint

          本文链接:https://www.haomeiwen.com/subject/rnjfextx.html