iosエンジニアの最近 株式会社マネーフォワード
TRANSCRIPT
![Page 1: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/1.jpg)
iOSアプリエンジニアの最近株式会社マネーフォワード iOSアプリエンジニア
浅井 勇樹
![Page 2: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/2.jpg)
・福井県出身28歳
・2015年07月入社
・最近はnanoblock
・Facebook:yukiasai417
自己紹介
![Page 3: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/3.jpg)
・Merge Request
・Refactoring & Code Review
・Swift
アジェンダ
![Page 4: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/4.jpg)
Merge Request
![Page 5: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/5.jpg)
MR体制を強化中
![Page 6: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/6.jpg)
・約束 ・少なくともエンジニア2人がレビュー(5人中) ・細かいことでも指摘、質問する ・精一杯優しく
・単位 ・バグ単位 ・タスク単位 ・機能単位
MR体制を強化中
![Page 7: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/7.jpg)
・約束 ・少なくともエンジニア2人がレビュー(5人中) ・細かいことでも指摘、質問する ・精一杯優しく
・単位 ・バグ単位 ・タスク単位 ・機能単位 ← これが大きくなりがち
MR体制を強化中
![Page 8: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/8.jpg)
WIP(Work In Progress)でMR
![Page 9: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/9.jpg)
![Page 10: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/10.jpg)
・約束 ・作業中のコードを晒す ・WIPはマージしない
・目的 ・実装方針の議論 ・問題の早期発見 ・他部署からの指摘も
WIPでMR
![Page 11: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/11.jpg)
オープンに!
![Page 12: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/12.jpg)
Refactoring &
Code Review
![Page 13: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/13.jpg)
リファクタリング、コードレビュー会
![Page 14: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/14.jpg)
・概要 ・各部署のスマホエンジニアが集結 ・毎週金曜(16時~17時) ・開始前にやることを宣言し、終了後に成果を報告
リファクタリング、コードレビュー会
![Page 15: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/15.jpg)
・目的 ・定期的に負債を返済 ・知見の共有 ・最近の悩み相談
リファクタリング、コードレビュー会
![Page 16: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/16.jpg)
・目的 ・定期的に負債を返済 ・知見の共有 ・最近の悩み相談
リファクタリング、コードレビュー会
結構なんでもあり
![Page 17: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/17.jpg)
・定期的に負債を返済 ・スコープ小さくしてみたり ・再利用性を高めてみたり ・知見を共有 ・いいライブラリ見つけた ・そのライブラリのコードリーディングしよう ・最近の悩み相談 ・ここの実装もっとシンプルにできませんかね? ・勉強会で何話したらいいですかね?
例
![Page 18: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/18.jpg)
ライブラリへMRしてみた
![Page 19: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/19.jpg)
・弊社アプリはパスコード機能必須 ・SwiftPasscodeLockを発見
・機能追加してMR ・パスコードの保存先を拡張
ライブラリにMRしてみた
![Page 20: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/20.jpg)
![Page 21: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/21.jpg)
コミュニティーに還元しよう!
![Page 22: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/22.jpg)
Swift
![Page 23: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/23.jpg)
Pure Swiftを目指して
![Page 24: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/24.jpg)
・Swift 1.0 から着手 ・新規コードはSwiftで記述 ・既存コードも気づいたらSwiftへ移行
Pure Swiftを目指して
![Page 25: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/25.jpg)
・Swift 1.0 から着手 ・新規コードはSwiftで記述 ・既存コードも気づいたらSwiftへ移行
Pure Swiftを目指して
ただいまのSwift率 33%
![Page 26: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/26.jpg)
Swift移行の落とし穴
![Page 27: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/27.jpg)
・Objective-Cとのインターフェース ・Optionalの扱いが雑(仕方ない) ・OptionalなIntなどを参照不可(仕方ない) ・NSArrayなどの扱いが面倒(仕方ない)
Swift移行の落とし穴
![Page 28: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/28.jpg)
話題の Objective-C to Swift Converter
を試してみた
![Page 29: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/29.jpg)
![Page 30: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/30.jpg)
・使用感 ・ちょっと厳しいかな、、、 ・ところどころ変換がおかしい ・.hと.mをマージしないといけない ・Webサービスなのでちょっと怖い
Objective-C to Swift Converter
![Page 31: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/31.jpg)
・使用感 ・ちょっと厳しいかな、、、 ・ところどころ変換がおかしい ・.hと.mをマージしないといけない ・Webサービスなのでちょっと怖い
Objective-C to Swift Converter
今後に期待
![Page 32: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/32.jpg)
Objective-CとSwift どちらも愛しています
![Page 33: iOSエンジニアの最近 株式会社マネーフォワード](https://reader031.vdocuments.mx/reader031/viewer/2022022123/58a32e4d1a28ab71398b6ddb/html5/thumbnails/33.jpg)
ありがとうございました