【 大阪オフィス開設1周年勉強会 】第3回 Swiftのアツさを語る! 〜AKIBA.swift in Osaka〜 2017/4/28 #cm_osaka
- kongmingtrap
- 1815
- 4
- 0
- 4
地道に修正していく。 先程のライブラリですね、これは。100のAPIを書き換えていく。 ResultのNSErrorの型を変更、 iOS7サポートカットをお客さんに相談→ダイナミックライブラリ対応・CocoaPodsに一元化 プロパティのオプショナル変更 #cm_osaka pic.twitter.com/ZYMeZL68HJ
2017-04-28 20:20:14try!とか、あんま使っちゃだめですけどね。こういう修正をしていきました。mapを使っていたところをforEachに変えたり。 関数型が好きだったようであちこちにmapがあった。 grepで探すとMapViewも当たるんですよね… こうした地道な活動をしました #cm_osaka
2017-04-28 20:21:17250ファイルの147ファイルを変更し、1268行追加、1130行削除。 PullRequestを投げたらふざけるなと言われた。しかし一つにまとめないと色々コンフリクトするのでレビュアーに頭を下げてやってもらった #cm_osaka pic.twitter.com/TFCi4Zym73
2017-04-28 20:22:07iOS7サポートの有無がその後の工数に大きな影響を与えた。きちんと明確な理由で説明して理解絵を得られたことはよかった。 エラーと警告が多くて対応に時間がかかった。40時間ぐらい書けた。 1.2から1.3にしたことでビルド時間が12分から3分になった。 #cm_osaka pic.twitter.com/aDu8E6WDL8
2017-04-28 20:23:09納期については、エビデンスが残らない形でお話しましょう #cm_osaka pic.twitter.com/pyAL2JmEIt
2017-04-28 20:23:41NSPrefixが取れた、といいつついつ部残っていたり、既存ライブラリのメソッド名が変わりすぎてて大修正。ABI安定化はSwift4までお預けに。 ご覧いただくとわかりますが、メソッド名が変わっていますね。これを全部変える必要がある。忠誠心を試される #cm_osaka pic.twitter.com/VLD9A3djuX
2017-04-28 20:25:36時間がかかりすぎるが、お客さんもそんなに待てないので、iOS10で動作保証するビルドを作るために、一旦2.3に対応しました。 しかし2.3が2系の最後。3への移行は必須。 移行は2.1→2.2から始まる。。 #cm_osaka pic.twitter.com/UdBNzvkvie
2017-04-28 20:27:15ほぼすべてのファイルに対して変換がかかる おや、これは、うまく行ったか?と思いきや、やっぱり失敗していた。 #cm_osaka pic.twitter.com/NMNPRDrfXl
2017-04-28 20:28:01それでもないよりはマシ。 UIKitのメソッド変換やEnumの先頭大文字か小文字かの変更などはやってくれた。しかし、やはり地道な作業を手でやっていく… #cm_osaka pic.twitter.com/Tvnx851Ykh
2017-04-28 20:29:15自動変換でひどかったのはこれ、asでキャストを繰り返す Date as NSDate as Date #cm_osaka pic.twitter.com/9NZZjthwMN
2017-04-28 20:29:41UnitTestも直さなければならない。UnitTestが機能しないのはつらい #cm_osaka pic.twitter.com/xsQJGK6zHE
2017-04-28 20:30:35247ファイル変更、4000行近く削除して追加。 2.1へのマイグレーションのときと比べてみましょう プルリクエストのレビューが、「見きれないので実機テストでなんとかしましょう」 #cm_osaka pic.twitter.com/PjbH8NpwIl
2017-04-28 20:31:08感想としては、この規模のマイグレーションはもう二度とやりたくない。 コンフリクト解消のために孤独な作業となる。 これでも諦めないというAppleへの忠誠心を試される。すなわち修行。 #cm_osaka pic.twitter.com/SGDuPrcweU
2017-04-28 20:31:50新規プロジェクトは、僕の頑張りも合ってすべてSwiftです。 先程発表された若者がクリーンアーキテクチャの導入を言い出して、アーキテクチャについて相談される土壌が形成された。 アーリーアダプターとしてつまづきながらノウハウを貯めていける #cm_osaka pic.twitter.com/BsUZSnqIr7
2017-04-28 20:32:56困るのは、Swiftの変化に否応なしについていく必要がある。 選択したアーキテクチャに寄っては育成コストが必要。 納期に寄ってはViewControllerに責務が集中することもある。 ただ、それでも僕は元気です ╭( ・ㅂ・)و、 #cm_osaka pic.twitter.com/wz7mhHchZa
2017-04-28 20:33:58この勉強会についてお知らせ 全7回のシリーズです。 今日は3回目でした。 次回は5/12(金) あと4回ございます! #cm_osaka pic.twitter.com/YUPSHkn2ja
2017-04-28 20:35:16また、来月8名となる大阪オフィスですが、あと4名座ることができます。 AWS、モバイル、DevOpsのエンジニアからプロジェクトマネージャー、コンサルまで募集中です! 応募フォームの紹介者には「いわもと」とお書きください それでは懇親ください!!! #cm_osaka pic.twitter.com/rTrZv03I9i
2017-04-28 20:36:58