@kyanny's blog

My thoughts, my life. Views/opinions are my own.

ペパボ社内の有志で JavaScript ソースコードリーディング勉強会をやった (2)

前回の続き。引き続き Raphael Sketchpad の後半を読んだ。

今回は特にメモを取るほどの新しい知見は得られなかった。 _foo みたいな変数名の規則とか、このひとの流儀なのかもしれないけどまぁよくありそうなパターンをおさらいできたという感じ。正直なところ、あんまり体調が良くなかったうえに当日すぐにメモをとれなかったのであんまりよく覚えてない。あと、やっぱり Raphael のほうの仕様を把握してないとよくわからない点がでてきた。それからコードの一番下のほうにあったユーティリティ関数群で型チェックをするものがあって、 JavaScript の型は複雑だなあと思った。今後そういうコードが必要な場合は自分で書こうとせずまずウェブで探すべきだな、というのが今回得られた一番の教訓かもしれない。

次回からは JavaScript のテンプレートエンジンをふたつとりあげる。次回は GitHub - snakajima/SNBinder: Client-side HTML Template Engine を、その次は GitHub - janl/mustache.js: Minimal templating with {{mustaches}} in JavaScript を読む予定。どちらも Raphael Sketchpad に比べると半分以下の行数なので一回で読みきれると思うし読みきりたい。

Keep

  • 開催できた
  • Raphael Sketchpad を読み終えた

Problem

  • 一回で読みきれなかった。一回で読みきれないことは大きな問題になりうることがわかった。特に途中から参加したひとのケアが難しい。前回読んだ部分の前提知識がないのでついていけないことがあるし、そこについての質問を掘り下げてると結局前回と同じ箇所を読みなおすことになって今回読むべきコードを読んだり議論したりする時間が減る。

Try

  • 次回も開催する
  • 次回は一回で読みきるようにする

あと前回のメモ書きにけっこう反響があったので、やはり社名を出すと注目を集めやすいのかなと思った。と同時に、おれ個人のブログにメモをとるだけじゃもったいないかな、とも思った。あんまり最初から大風呂敷を広げるとうまくいかないので、しばらくはこのスタイルでこぢんまりとやるつもりだけど、もし回を重ねて当たり前のように継続できるようになったら、過去の勉強メモを残すサイトを別に作ってもいいかもしれない。

それから、普段から個人的にソースコードリーディングをする習慣があるような意識の高いひとからは「もうちょっと大物を読むとか、言語仕様の深いところを掘り下げたりしてみたい」という声があがった。おれ自身もそういうことをやりたいと思っているんだけど、まだ時期尚早かなと思っている。なんというか、そういうのをこなせるひとはほっといても一人で読むと思っていて、そうではないひとたち(おれを含む)がいずれ大物にチャレンジできるよう訓練を積む機会をまず作りたいというのがあるんだけど、まぁ思惑がうまくいった暁にいろいろ書こう。