Power Assert の内部について Elixir Meetup #1 in Drecom で発表してきた

ma2ge
3 min readJan 12, 2016

--

Elixir Meetup #1 in Drecom

タイトル通りですが Power Assert Elixir(以下 PowerAssertEx)の内部実装について Elixir Meetup #1 in Drecom にて発表してきました。

PowerAssertEx は勢いで作ったこともあり復習、整理のために一度アウトプットしておきたく、良い機会を頂けたので感謝しています。

裏の目的としてコードがそんなに綺麗ではない、もっと良い実装があるのでは?というのを感じていたので、発表することでもっと良いやり方が出てきたりしたら面白いなというのもありました。

更にもう一つ目的があって、PowerAssertEx でやっていることをコード以外の補助資料で説明したいというのがありました。これは PowerAssertEx 作るときに他の言語実装を参考にしたかったけど、ソースコードを見てもあまり参考に出来なかったためです。参考に出来なかったのは言語が違うというのもあるのですが、Power Assert の場合はその言語の AST まで覚える必要があって理解までのハードルが結構あります。なのでコード以外の説明資料があると助かっただろうなぁという思いがあり、少し抽象度を上げて記載しているところがあります。Power Assert を実装したいという人にしかメリットがないかもしれないですが。。。

発表内容はRubyKaigiで行われたPower Assert Ruby の発表資料を参考にしてテスト失敗結果の表示に使う式の位置情報と、式の値取得をどうやっているのかというところをメインにしています。本当は assert macro の override をどうしているのかってことも話したかったのですが、30分だと厳しいなというのがあり削っています。override の方法ももっと良い方法があると嬉しいなと常々思っているので、もし良いアイデアをお持ちの方がいたら教えて欲しいです。発表資料はこちらです。

勉強会全体の様子はこちらにまとまっています。飛び入りLTがあったりで面白かったです。

ちなみに今回の会場提供は Drecom さんで、発表のトップバッターも Drecom の @ohrdev さん、しかも production での運用における知見をこれでもかと披露いただいて、Drecom さん様々な会でした。次回は3月にあるそうでこれまた楽しみですね。

--

--