Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

About Swift-Clean

2,826 views

Published on

第21回 yidev での発表内容です。この勉強会では参加者の意見を集めてSwift-Clean用のフォーマットを作成しました。

このとき作成したフォーマットは https://github.com/mnat44/yidev-21-swift-style-settings-for-swift-clean にアップロードされています。

Published in: Mobile
  • Hey guys! Who wants to chat with me? More photos with me here 👉 http://www.bit.ly/katekoxx
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

About Swift-Clean

  1. 1. Swift-Clean
  2. 2. http://swiftcleanapp.com/ Swift-Clean
  3. 3. Swift-Cleanとは? • Swiftのコードフォーマッター • フォーマットルールを設定することができる • フォーマットはビルド時に適用される
  4. 4. 有料です Free Trialあり
  5. 5. きっかけ • 最近、Swiftのソースレビューをしている • Swiftのフォーマットのレビューの方針がない • 個人的にはどこにスペースを入れるとか、どこで 改行するとか割とどうでも良い • でも、やっぱり統一されていた方が気持ち良い
  6. 6. Swift-Cleanの良いところ • アンケートに答えていくとSwiftStyleSettings.plist が生成される • これをもとにSwift-Clean.appが警告を出してくれ たりする
  7. 7. あなたのフォーマットルールは?
  8. 8. yidev-swiftフォーマットを作ろう
  9. 9. 1/39 (AutoFix) クラス宣言などの : の前後のス ペーシング What should the spacing around the colon look like in a class declaration?
  10. 10. 2/39 (AutoFix) メソッドのreturn オペレータの スペーシングは What should the spacing around the return operator look like in a method signature?
  11. 11. 3/39 クラス宣言の { を始める位置 は? Where should the open curly brace be in relation to a class declaration?
  12. 12. 4/39 メソッド宣言の { を始める位置 は? Where should the open curly brace be in relation to a method declaration?
  13. 13. 5/39 (AutoFix) メソッドの ( はスペースを空け るべきか? Should there be a space before the opening parentheses in a method signature?
  14. 14. 6/39 (AutoFix) オペレータ宣言の ( の前にはス ペースを入れるべきか? Should there be a space before the opening parentheses in a operator function signature?
  15. 15. 7/39 (AutoFix) メソッド呼び出しの ( の前には スペースを入れるべきか? Should there be a space before the opening parentheses in a method call?
  16. 16. 8/39 (AutoFix) メソッドの引数の : の周りには スペースをどう入れるか? What should the spacing around the colon look like in a method signature?
  17. 17. 9/39 (AutoFix) 変数宣言の : の周りにはスペー スをどう入れるか? What should the spacing around the colon look like in a variable declaration?
  18. 18. 10/39 for文の { はどこに置くべきか? Where should the open curly brace be in relation to a loop declaration?
  19. 19. 11/39 if文の { はどこに置くべきか? Where should the open curly brace be in relation to an if- statement declaration?
  20. 20. 12/39 switch文の { はどこに置くべき か? Where should the open curly brace be in relation to a switch statement declaration?
  21. 21. 13/39 return文の上に空の行を入れる べきか? Should there be an empty line above return statements?
  22. 22. 14/39 (AutoFix) 四則演算の周りにスペースを入 れるべきか? What should the spacing around math operators look like?
  23. 23. 15/39 (AutoFix) { の前にはスペースを入れるべ きか? Should there be a space before opening braces?
  24. 24. 16/39 (AutoFix) , のあとにスペースを入れるべ きか? Should there be a space after commas?
  25. 25. 17/39 メソッド間にどれくらい空行を 入れるべきか? How many empty lines should there be between (main, non-nested) method bodies?
  26. 26. 18/39 (AutoFix) メソッドのジェネリクス宣言の 周りにスペースを入れるか? What should the spacing around generic declarations look like in a method signature?
  27. 27. 19/39 (AutoFix) カスタムプロパティのセッター の ( の前にスペースを入れる か? Should there be a space before the opening parentheses of a custom property setter?
  28. 28. 20/39 (AutoFix) 型指定の前にスペースを入れる か? Should there be a space before the type specifier?
  29. 29. 21/39 (AutoFix) 論理演算子の周りのスペースは どうする? What should the spacing around logical operators look like?
  30. 30. 22/39 (AutoFix) 代入時のスペースはどうする? What should the spacing around the assignment operator look like?
  31. 31. 23/39 // MARK: コメントの上には空 行をどれくらい入れるべきか? How many empty lines should there be above a // MARK: declaration?
  32. 32. 24/39 // MARK: コメントの下には空 行をどれくらい入れるべきか? How many empty lines should there be below a // MARK: declaration?
  33. 33. 25/39 モジュールインポートの最後の 行の下にどれくらい空行を入れ るか? How many empty lines should there be below the last module import?
  34. 34. 26/39 モジュールインポートの最初の 行の上にどれくらい空行を入れ るか? How many empty lines should there be above the first module import?
  35. 35. 27/39 (AutoFix) Dictionaryの : の周りにどうやっ てスペースを入れるか? What should the spacing around the colon look like in a dictionary?
  36. 36. 28/39 (AutoFix) メソッド呼び出しの際の : の周 りはどうスペーシングするか? What should the spacing around the colon look like in a function call?
  37. 37. 29/39 Swiftファイルの最後の行にはど れくらい空行を入れるべきか How many empty lines should there be at the end of every Swift file?
  38. 38. 30/39 クラス名は1文字目を大文字に すべきか? Should class names be capitalized?
  39. 39. 31/39 メソッド名は1文字目を大文字 にすべきか? Should function names be capitalized?
  40. 40. 32/39 変数名は1文字目を大文字にす べきか? Should variable names be capitalized?
  41. 41. 33/39 enum名は1文字目を大文字にす べきか? Should enum names be capitalized?
  42. 42. 34/39 struct名は1文字目を大文字にす べきか? Should struct names be capitalized?
  43. 43. 35/39 typealias時の名前は1文字目を 大文字にすべきか? Should typealias names be capitalized?
  44. 44. 36/39 定数名は1文字目を大文字にす べきか? Should static variable names be capitalized?
  45. 45. 37/39 struct宣言時の { はどうすべき か? Where should the open curly brace be in relation to a struct declaration?
  46. 46. 38/39 enum宣言時の { はどうすべき か? Where should the open curly brace be in relation to an enum declaration?
  47. 47. 39/39 コーディングルール違反時はビ ルドエラーにするか?ワーニン グにするか? Do you want Swift-Clean to show code violations as build errors or warnings in Xcode?
  48. 48. 設定方法
  49. 49. 設定方法 Swift-Cleanアプリを立ち上げる
  50. 50. 設定方法 Customでさっきのアンケート画面に
  51. 51. 設定方法 StackoverflowアカウントSign-inしたユーザーのアンケート結果
  52. 52. 設定方法 アンケートに回答したすべてのユーザーの平均
  53. 53. 設定方法 除外ファイルなどの設定
  54. 54. 設定方法 プロジェクトファイルを追加
  55. 55. 設定方法 AutoFixでさきほどのアンケートでAutoFixと
 記載されていた項目を自動で修正してくれる
  56. 56. 設定方法 Install Run Scriptをクリック
  57. 57. 設定方法 Build PhasesにSwift-Clean Run Scriptが追加される
 不要だったら削除すればOK
  58. 58. 設定方法 • 先ほど生成したSwiftStyleSettings.plist を.xcodeprojと同じ階層に保存して、あとはBuildす ればOK
  59. 59. こんな感じ • モジュールインポートの最後の行の下は空行1つにしましょう • メソッド名はキャメルケースにしましょう などなど
  60. 60. 注意
  61. 61. ビルドするごとに… Free Trial版だとビルドするごとに出てくる
  62. 62. うざかったら Build PhasesにSwift-Clean Run Scriptが追加される
 不要だったら削除すればOK
  63. 63. コードフォーマットとか好みでしかないし、
 どうでもいい、でも整ってる方が気持ち良い → チーム開発時はツールで自動化したい → Swift-Cleanは一つの手段 まとめ
  64. 64. • アンケート形式で答えられるので、チーム開発で多 数決とって決めたい場合にちょうど良いかも • 150ドルのSingle Site Licenseが用意されている まとめ
  65. 65. • 第21回 yidevで作成したSwiftStyleSettings.plistは https://github.com/mnat44/yidev-21-swift-style- settings-for-swift-clean
 にアップロードしています 補足
  66. 66. おわり

×