なぜ1000行でカバレッジ計測ツールを作れるのか…… その謎を解明するため、我々調査隊はGitHubの奥地へと向かった――。 by しゅんそく

PHP Conference Japan 2024
LT(5分)

なぜ1000行でカバレッジ計測ツールを作れるのか…… その謎を解明するため、我々調査隊はGitHubの奥地へと向かった――。

shunsock しゅんそく shunsock
8

dbt-coverageというツールをご存知ですか?

dbt-coverageとは、dbtのテストやドキュメントのカバレッジを計測するツールです。dbtはデータワークフローをSQLとYAMLで定義するソフトウェアで、dbt-coverageとはDBのテーブルに対するテストケースや、YAMLファイルにdescriptionの項目が書いてあるかを計測します。

一見するとよくあるツールに見えるのですが、コードの量が非常に少ない。実のところ、ソースコードが1000行ぐらいしかありません。この量では、とてもYAMLをASTに直し、構文解析することは不可能なように感じました。

本セッションでは、このdbt-coverageのソースコードを解説し、どのようにして短いコードで有用なカバレッジ計測ツールを実現していのかを解説します。