Swiftの世界的カンファレンス,
本イベントの興味深いセッションをいくつか,
Laura Savinoさん「コードリーディングについて」
新しいコードを読み解くことを,
コードを解読することは大変!
コードを読んで,
- スラングを避ける
- 人間の言語におけるスラング,
これは知っている人しか知らない表現です。プログラミング言語においてもスラングを避けることで, 平易な文となり読みやすさを上げることができます。 - 過度な短縮系を避ける
- 過度な短縮系はすぐに理解できず,
読むのにエネルギーを使う必要のある表現です。 「書いた人にしか読めないコードはやめよう」 と述べていました。 - カスタムオペレータを避ける
- カスタムオペレータもエネルギーが必要な表現です。
共感を大切にする
「なぜこのコードが読めないんだ?」
これまでに述べてきたコードの解読の必要性をなくすことで,
Q&Aインタビュー
セッション後,
Q: セッションでも言及していましたが,
C言語タイプのforループについて, プログラミング初学者にとってはfor-inよりもforループのほうが読みやすいのではないかと思います。これについてどのように考えますか。 A: チームの目標をどこに設定するかがカギだと思います。大切なのはセッションでも言及しましたが,
共感です。その上で, チームの目標設定に対してチームメンバーにとってどんなコードにするべきかがわかるキーパーソンの存在が大切だと思います。良いコードも悪いコードも知った上で判断できる人は重要です。 Q: プログラマはこの種の話題が大好きだと思いますが,
最近のホットトピックは何かありますか。 A: 若干VCにコードが寄りがちかもしれないけれどMVCモデルで作っていくのか,
それとも小さなコンポーネントに細かく切り分けて作っていくのかという話題が最近ありました。それぞれにメリット・ デメリットはありますが, チームメンバーが共感して納得できるところを探すことが大切でした。
Q&Aの回答にあったように
Gwendolyn Westonさん「平常心で型を消し去る」
型を明確にすることがSwiftらしいやり方であると気づいた時,
型とはなにか?
型には2種類あります。
Concrete Typeはインスタンス化できる型のことです。データを保持し,
protocolでGenericsを使うには?
Gwendolynさんはポケモンを題材に説明していきました。サンプルコードはこちらです。
ポケモンの振る舞いを持つprotocol Pokemonがあって,
Q&Aインタビュー
セッション後,
Q: 参考になるサイトなどがあれば教えてください。
A: 一つは,
実際のコードとしてReSwiftというライブラリのこの部分に使われています。また, 以下の3つのサイトも参考になりますよ。
このセッションの前は