2025年6月7日土曜日

Swift でリントとフォーマットをしてみる

Swift でリントとフォーマットをしてみる

概要

コード規約を作成します

環境

  • macOS 15.5
  • SwiftFormat 0.56.1
  • SwiftLint 0.59.1

インストール

  • vim Podfile
pod 'SwiftLint'
pod 'SwiftFormat/CLI'
  • pod install

フォーマット

  • ./Pods/SwiftFormat/CommandLineTool/swiftformat .

リント

  • ./Pods/SwiftLint/swiftlint .

おすすめ .swiftlint.yml 設定

excluded:
- Pods
disabled_rules:
- force_cast
- force_try
- line_length
- function_body_length

要約すると

  • force try (try!) は使っても OK
  • 1行の長さ120以上 OK
  • 1クラスの行数250以上 OK
  • 1メソッドの行数100以上 OK

です
これ以外はちゃんと対応したほうがいいと思います

その他

  • コード内で個別にリントを 無視する
    • 例えば関数の複雑性を無視する場合は関数の上に以下を記載します
// swiftlint:disable:next cyclomatic_complexity
  • コード内で個別にフォーマットさせないようにする
    • 例えば強制改行を SwiftFormat でさせないようにするには以下のように記載します
// swiftformat:disable wrapMultilineStatementBraces

最後に

フォーマットしても普通にリントで引っかかるのであとは手動で直すしかありません

参考サイト

0 件のコメント:

コメントを投稿