SwiftLitt0.7.0 업데이트 요약

3315 단어 SwiftSwiftLintiOS
며칠 전에는 0.6.0이 나왔다고 생각했는데 10일 뒤에는 0.7.0, 2일 뒤에는 0.7.1이 나왔다.
각양각색의 업그레이드와 추가가 있었기에 새로운 기사를 쓰기로 했다.
길어지기 때문에 0.7.0 문장과 0.7.1 문장을 분리한다.

폐지된 물건


XPCDictionary


지금까지 사용한 모든 XPCdictionary는 [string:SourceKitRepresentable]로 교체되었습니다.

VariableNameMinLengthRule、VariableNameMaxLengthRule


대신 VariableNameRule에 병합됩니다.

VariableNameRule


콘텐츠 자체는 기존 베리아블 나무민 롱스룰, 베리아블 나무맥스 롱스룰, 베리아블 나무네임 룰의 조합으로 볼 수 있다.
.swiftlint.yml에서 아래 기술Configuration에서 발췌한다.
variable_name:
  min_length:
    error: 4 # only error
  max_length: # warning and error
    warning: 40
    error: 50
  excluded: # excluded via string array
    - id
    - URL
    - GlobalAPIKey
이전에 error와 Warning의 값을 정의할 때 다음과 같이 기술하였다.
<rule name>:
- <数値> # warning
- <数値> # error

ViolationLevelRule


대신 Config Provider Rule과 Severity Levels Config이 있습니다.

ConfigProviderRule


ConfigProviderRule은 프로토콜입니다.
잘 모르기 때문에 모호하지만 규칙은 이 규칙 같은 것을 따라야 한다고 생각합니다.
참조: CONTRIBUTING.md

SeverityLevelsConfig


warning, error가 이거에 맞아요.
SeverityLevelsConfig.swift
README에 따라 "severity"라는 문자열을 명시적으로 기술하거나 생략할 수 있습니다.
force_cast: warning # implicitly
force_try:
  severity: warning # explicitly
더 나아가 수치를 맞춤형으로 설정할 때의'warning','error'문자열도 명확하게 기술하고 생략할 수 있다.
# implicitly
line_length: 110
# they can set both implicitly with an array
type_body_length:
  - 300 # warning
  - 400 # error
# or they can set both explicitly
file_length:
  warning: 500
  error: 1200

강화된 것


TypeBodyLengthRule


주석 행과 빈 행은 더 이상 계산되지 않습니다.

FunctionBodyLengthRule


주석 행과 빈 행은 더 이상 계산되지 않습니다.

TypeNameRule、VariableNameRule


NameConfig을 사용한 ConfigProviderRule, minlength(최소 문자), maxlength (최대 문자 수) 와 excluded names (규칙이 적용되는 외부 문자열) 를 지정할 수 있습니다.

CyclomaticComplexityRule


이것은 새로 추가된 규칙이다.직역하면'순환의 복잡도에 관한 규칙'이다.
순환 복잡도이 보도를 토대로 대충 이해하면'어떤 함수가 얼마나 복잡한지를 나타내는 지표', 즉'기본값은 1이고 조건별 분기가 증가하면 +1'이라는 뜻이다.

SwiftLine의 Cyclomic Compulexity Rule에서는 complxity를 10 이하로 제어할 수 없음을 경고합니다.
다음은 complexity가 추가한 키워드입니다.foreach, if, switch, case, guard, for, repeatwhile, while

모든 규칙


모든 규칙은 Serverity Config에 따라 Warning 등 severity를 설정합니다.

빈대Fix

  • 플러그인 설정 파일을 사용할 때 무한 귀속이 발생하여 붕괴되는 문제를 수정했다.
  • NULL 문자가 포함된 경우 충돌하는 문제가 수정되었습니다.
  • 좋은 웹페이지 즐겨찾기