Submit Search
Upload
既存プロジェクトにSwiftLintを導入した話
•
2 likes
•
2,167 views
akatsuki174
Follow
2016/02/09 Kyobashi.swift#1
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 29
Download now
Download to read offline
Recommended
チーム開発にSwiftLintを導入してみた・詳細版
チーム開発にSwiftLintを導入してみた・詳細版
Ikada Kaori
Xcode and iTC submission topics
Xcode and iTC submission topics
Syo Ikeda
【ヒカ☆ラボ】初心者向けSwiftアプリのリファクタリング
【ヒカ☆ラボ】初心者向けSwiftアプリのリファクタリング
leverages_event
Swift 1.2からSwift 2への移行 #cocoa_kansai
Swift 1.2からSwift 2への移行 #cocoa_kansai
Syo Ikeda
SwiftでAndroidアプリ書けるってよ
SwiftでAndroidアプリ書けるってよ
Syo Ikeda
Dynamic frameworks tips
Dynamic frameworks tips
Syo Ikeda
Movable Type Data API連携!店舗情報を地図に表示させよう!
Movable Type Data API連携!店舗情報を地図に表示させよう!
Kanako Kobayashi
Custom lintcheckをつくろう
Custom lintcheckをつくろう
Makoto Yamazaki
Recommended
チーム開発にSwiftLintを導入してみた・詳細版
チーム開発にSwiftLintを導入してみた・詳細版
Ikada Kaori
Xcode and iTC submission topics
Xcode and iTC submission topics
Syo Ikeda
【ヒカ☆ラボ】初心者向けSwiftアプリのリファクタリング
【ヒカ☆ラボ】初心者向けSwiftアプリのリファクタリング
leverages_event
Swift 1.2からSwift 2への移行 #cocoa_kansai
Swift 1.2からSwift 2への移行 #cocoa_kansai
Syo Ikeda
SwiftでAndroidアプリ書けるってよ
SwiftでAndroidアプリ書けるってよ
Syo Ikeda
Dynamic frameworks tips
Dynamic frameworks tips
Syo Ikeda
Movable Type Data API連携!店舗情報を地図に表示させよう!
Movable Type Data API連携!店舗情報を地図に表示させよう!
Kanako Kobayashi
Custom lintcheckをつくろう
Custom lintcheckをつくろう
Makoto Yamazaki
Fiddler Scriptデモ
Fiddler Scriptデモ
hagurese
オブジェクト指向な人がRx swiftを試してみた
オブジェクト指向な人がRx swiftを試してみた
小林 弘明
What is reactive programming?
What is reactive programming?
Kenji Tanaka
今から始めるFiddler script
今から始めるFiddler script
彰 村地
iOS豆知識ver0.0.5
iOS豆知識ver0.0.5
ppengotsu Name
Spring starterによるSpring Boot Starter
Spring starterによるSpring Boot Starter
Ryosuke Uchitate
Front-end package managers
Front-end package managers
Hayashi Yuichi
CSS Living StyleGuide
CSS Living StyleGuide
Hayashi Yuichi
デザイナーがネイティブ実装に関わるメリットとコツ
デザイナーがネイティブ実装に関わるメリットとコツ
Yurie Shiratori
Lt 20150711
Lt 20150711
Tomoyuki Obi
Approach of Prototyping for making Application User Interface about iOS
Approach of Prototyping for making Application User Interface about iOS
Fumiya Sakai
iPhoneアプリ無料勉強会 vol2
iPhoneアプリ無料勉強会 vol2
codeal
Swift歴2ヶ月でアプリを8本リリースしてみた話
Swift歴2ヶ月でアプリを8本リリースしてみた話
Makoto Nishimoto
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
Yukiya Nakagawa
ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略
Hiroshi Maekawa
Riot.jsと仲良くなるための僕的tips
Riot.jsと仲良くなるための僕的tips
Keisuke Imai
iPhoneアプリ無料勉強会 vol1
iPhoneアプリ無料勉強会 vol1
codeal
AbemaTV
AbemaTV
Shunsuke Matsumoto
Nullabilityについて
Nullabilityについて
ishikawa akira
Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法
Tomoki Hasegawa
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
DIVE INTO CODE Corp.
Yapc2012資料
Yapc2012資料
matsuo kenji
More Related Content
What's hot
Fiddler Scriptデモ
Fiddler Scriptデモ
hagurese
オブジェクト指向な人がRx swiftを試してみた
オブジェクト指向な人がRx swiftを試してみた
小林 弘明
What is reactive programming?
What is reactive programming?
Kenji Tanaka
今から始めるFiddler script
今から始めるFiddler script
彰 村地
iOS豆知識ver0.0.5
iOS豆知識ver0.0.5
ppengotsu Name
Spring starterによるSpring Boot Starter
Spring starterによるSpring Boot Starter
Ryosuke Uchitate
Front-end package managers
Front-end package managers
Hayashi Yuichi
CSS Living StyleGuide
CSS Living StyleGuide
Hayashi Yuichi
デザイナーがネイティブ実装に関わるメリットとコツ
デザイナーがネイティブ実装に関わるメリットとコツ
Yurie Shiratori
Lt 20150711
Lt 20150711
Tomoyuki Obi
Approach of Prototyping for making Application User Interface about iOS
Approach of Prototyping for making Application User Interface about iOS
Fumiya Sakai
iPhoneアプリ無料勉強会 vol2
iPhoneアプリ無料勉強会 vol2
codeal
Swift歴2ヶ月でアプリを8本リリースしてみた話
Swift歴2ヶ月でアプリを8本リリースしてみた話
Makoto Nishimoto
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
Yukiya Nakagawa
ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略
Hiroshi Maekawa
Riot.jsと仲良くなるための僕的tips
Riot.jsと仲良くなるための僕的tips
Keisuke Imai
iPhoneアプリ無料勉強会 vol1
iPhoneアプリ無料勉強会 vol1
codeal
AbemaTV
AbemaTV
Shunsuke Matsumoto
What's hot
(18)
Fiddler Scriptデモ
Fiddler Scriptデモ
オブジェクト指向な人がRx swiftを試してみた
オブジェクト指向な人がRx swiftを試してみた
What is reactive programming?
What is reactive programming?
今から始めるFiddler script
今から始めるFiddler script
iOS豆知識ver0.0.5
iOS豆知識ver0.0.5
Spring starterによるSpring Boot Starter
Spring starterによるSpring Boot Starter
Front-end package managers
Front-end package managers
CSS Living StyleGuide
CSS Living StyleGuide
デザイナーがネイティブ実装に関わるメリットとコツ
デザイナーがネイティブ実装に関わるメリットとコツ
Lt 20150711
Lt 20150711
Approach of Prototyping for making Application User Interface about iOS
Approach of Prototyping for making Application User Interface about iOS
iPhoneアプリ無料勉強会 vol2
iPhoneアプリ無料勉強会 vol2
Swift歴2ヶ月でアプリを8本リリースしてみた話
Swift歴2ヶ月でアプリを8本リリースしてみた話
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略
Riot.jsと仲良くなるための僕的tips
Riot.jsと仲良くなるための僕的tips
iPhoneアプリ無料勉強会 vol1
iPhoneアプリ無料勉強会 vol1
AbemaTV
AbemaTV
Similar to 既存プロジェクトにSwiftLintを導入した話
Nullabilityについて
Nullabilityについて
ishikawa akira
Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法
Tomoki Hasegawa
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
DIVE INTO CODE Corp.
Yapc2012資料
Yapc2012資料
matsuo kenji
C++CLIで、ネイティブCの保守開発に.NETを使って楽をしよう
C++CLIで、ネイティブCの保守開発に.NETを使って楽をしよう
Study Group by SciencePark Corp.
[20130624]最近の開発環境について話してみる sakata
[20130624]最近の開発環境について話してみる sakata
VOYAGE GROUP
開発中のiOSアプリ紹介 #okamoba
開発中のiOSアプリ紹介 #okamoba
ishikawa akira
オープンセミナー香川2012 LT
オープンセミナー香川2012 LT
Kouta Imanaka
DevLOVE iPhoneアプリ勉強会
DevLOVE iPhoneアプリ勉強会
Toshimitsu Takahashi
Mix and Match / Swift and Objective-C
Mix and Match / Swift and Objective-C
Goichi Hirakawa
GitHub ActionsでiOSのCIを実現しよう
GitHub ActionsでiOSのCIを実現しよう
Shinya Nakajima
How to improve Type-safety in your Objective-C code
How to improve Type-safety in your Objective-C code
Chiharu Nameki
Xcode で gulp を使うお話
Xcode で gulp を使うお話
Yoichiro Sakurai
LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介
LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介
Shoken Fujisaki
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
You&I
第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会
codeal
iOS開発でのおすすめライブラリと管理
iOS開発でのおすすめライブラリと管理
Tomoya Hayakawa
APIドキュメントの話 #sphinxjp
APIドキュメントの話 #sphinxjp
Takeshi Komiya
CI/CDパイプラインを定着させる闘い @九州インフラ交流勉強会(Kixs) Vol.006
CI/CDパイプラインを定着させる闘い @九州インフラ交流勉強会(Kixs) Vol.006
Kazuhiro Uchimura
日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 github
Tomohiko Himura
Similar to 既存プロジェクトにSwiftLintを導入した話
(20)
Nullabilityについて
Nullabilityについて
Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
Yapc2012資料
Yapc2012資料
C++CLIで、ネイティブCの保守開発に.NETを使って楽をしよう
C++CLIで、ネイティブCの保守開発に.NETを使って楽をしよう
[20130624]最近の開発環境について話してみる sakata
[20130624]最近の開発環境について話してみる sakata
開発中のiOSアプリ紹介 #okamoba
開発中のiOSアプリ紹介 #okamoba
オープンセミナー香川2012 LT
オープンセミナー香川2012 LT
DevLOVE iPhoneアプリ勉強会
DevLOVE iPhoneアプリ勉強会
Mix and Match / Swift and Objective-C
Mix and Match / Swift and Objective-C
GitHub ActionsでiOSのCIを実現しよう
GitHub ActionsでiOSのCIを実現しよう
How to improve Type-safety in your Objective-C code
How to improve Type-safety in your Objective-C code
Xcode で gulp を使うお話
Xcode で gulp を使うお話
LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介
LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会
iOS開発でのおすすめライブラリと管理
iOS開発でのおすすめライブラリと管理
APIドキュメントの話 #sphinxjp
APIドキュメントの話 #sphinxjp
CI/CDパイプラインを定着させる闘い @九州インフラ交流勉強会(Kixs) Vol.006
CI/CDパイプラインを定着させる闘い @九州インフラ交流勉強会(Kixs) Vol.006
日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 github
既存プロジェクトにSwiftLintを導入した話
1.
既存プロジェクトに SwiftLintを導入した話 @akatsuki174
2.
自己紹介 • 某ソフトウェア会社エンジニア(2年目) グロースハッカー →
Webエンジニア → iOSエンジニア • Twitter, Qiita, SlideShare, Github →akatsuki174
3.
チームでの開発 ってますかー??
4.
チーム開発って大変ですよね
5.
みんなコードを書くときの クセは違います。
6.
Aさん Bさん
7.
あああああああ!!! (ノ`△´)ノ ┫:・'∵:.┻┻:・'.:∵
8.
そんな時に使ったのが SwiftLint!
9.
SwiftLintとは “A tool to
enforce Swift style and conventions, loosely based on GitHub's Swift Style Guide.” https://github.com/realm/SwiftLintより抜粋 →コードが規則に則ったものに なっているかをチェックしてくれるツール。
10.
導入例 • Homebrewでインストールする • Lintを実行するプロジェクトにRunScript を書く •
.swiftlint.ymlに設定を書く 以上!!!
11.
.swiftlint.yml記述例
12.
ルール例
13.
force_cast • 強制castはダメ、絶対
14.
control_statement • 条件を囲む「( )」は外しましょう
15.
ここから、既存プロジェクトに SwiftLintを導入した時の話
16.
ステップ1 チームの合意を得る
17.
ステップ2 採用するルールを決める
18.
議論になったルール line_length メソッドの宣言してたらすぐ100文 字行っちゃうんじゃ? →150字で警告、200字でエラー
19.
番外編 入れて動かしてみた
20.
21.
(´;ω;`)ブワッ
22.
ステップ3 全てのルールをdisabledにする
23.
ステップ4 1つずつルールを適用
24.
強い味方:autocorrect 一部のルールは $ swiftlint autocorrect を実行すると自動で修正してくれる! ただしバックアップは取っておきましょう!
25.
ステップ5 数値系ルールの値の調整 (必要であれば)
26.
ステップ6 ユニットテストを回す
27.
以上。 これであなたも幸せになれます。
28.
今からでも遅くないので SwiftLintを導入してみましょう!
29.
SwiftLintの資料 • 公式 https://github.com/realm/SwiftLint • 頑張って書いた私のQiitaの記事 http://qiita.com/search? utf8=✓&sort=rel&q=user %3Aakatsuki174+swiftlint etc…
Download now