L is Bエンジニアブログ

ビジネス用メッセンジャーdirectのエンジニアによるブログ

LisBエンジニアブログ

ビジネスチャットdirectのエンジニアブログ

try! Swift Tokyo 2017に行ってきました

iOSアプリを開発している吉岡です。 try! SwiftというSwiftのカンファレンスに初参加してきました。

https://www.tryswift.co/tokyo/jpwww.tryswift.co

732名もの参加者がいたようです。前の方はテーブル付きの席でPCを置いての作業ができたりスライドのコードが見やすいなどのメリットがあり、ある程度前の方に座りました。 f:id:yoshioka_lisb:20170320003323j:plain

印象に残ったセッション

チームの生産性を改善するために決断疲れを最小化する

https://www.tryswift.co/tokyo/jp#team

開発をしていると常に発生する「決断」を減らしてパフォーマンスを最大化するための手法が紹介されていました。ファイルを置く場所や、ファイル内に関数を置く場所について紹介があり、これはすぐに取り入れられる手法と思いました。 さらに、ランチ時にテックトークをしたりペアプロをしたりチームビルディングや運営に関する話もあり、弊社の文化に合うような形でよいところは取り入れていきたいです。

テスト可能なコードを書くということの2つの側面

https://www.tryswift.co/tokyo/jp#testable-code

テストしやすいコードにするためには「副作用」と「共作用」に着目する必要がある。たとえば関数内で計算結果をファイルに書き込むようなケースは関数の外に影響するので戻り値として計算結果を返すようにするとテストがしやすくなる。環境変数などを読みに行く関数は同じ状況を作るのが難しいので、環境変数系を一つにまとめた構造体を定義し、これを引数に渡すようにして呼び出す。それによってテストの時には意図した環境変数(のダミー)を与えることで解決できそうに思いました。 テストを書くとき以外でも、副作用と共作用に気をつけて関数を設計したいです。

ハッカソン

3日目のハッカソンにも参加してきました。チームやテーマも決まっていない状態だったのですが、ハッカソン前日に Riko Messenger App のチームが発足し、そのチームのメンバーとして参加しました。 初対面の人同士の即席のチームだったのですが、とてもよいチームメイトに恵まれて3位(ドローン)を受賞することができました。

リポジトリは下記のものです。 ハッカソン中はチームメンバー個人のFirebaseアカウントを使っていたりなどの諸事情でプライベートリポジトリで開発していた経緯から、過去のリビジョンはすべてクリアしての公開となっております。

https://github.com/nano041214/Riko

ハッカソン自体初めての参加で、他社さんの開発者と一緒に開発することも初めてだったので、楽しんで参加することができました。

参加により得たこと

directアプリをSwiftで書いていくというモチベーションが上がりました。カンファレンス参加後は早速、新しいコードはすべてSwiftで書くという強い意志でSwiftコードを増やしています。これは、参加せずに後で動画や資料を見ているだけだと得られなかったはずで、とても大きなメリットだと感じています。

iOSアプリ開発の知見を得ました。セッションだけでなく、休憩や懇親会、ハッカソンチームメイトとの会話からかなりの知見を得ることができました。得た知見のいくつかは早速実践しています。

おわりに

try! Swiftへの参加をサポートいただいた弊社には大変感謝しています。 また、とても心地よい運営をしていただいた主催者の皆様方にも感謝します。 通訳の方々は内容を理解した上で翻訳していただいていて、おかげで英語のセッションが理解できない私でもセッションを聞くことができました。ありがとうございます。

弊社L is Bでは iOSアプリ開発者 を募集しています。一緒にSwiftで開発したい方お待ちしています。 この記事記載時点では募集要項にはSwiftで開発していると記載できていませんが、新しいところからSwiftで開発するようにしています。