hitode909の日記

以前はプログラミング日記でしたが、今は子育て日記です

開発中のリポジトリに.dataprinterを置くとData::Printerの設定をチームメンバーと共有できる

2016年に書いたDDPのスニペットを6年間大切に使いまわしていたのだけど、Data::Printer.dataprinterというファイルに設定ファイルを置くことで、デフォルト値を設定することができる。


リポジトリトップに置く.dataprinterというファイルに以下の設定を書いておいて、

show_unicode = 1
use_prototypes = 0

エディタ用のスニペット(.vscode/perl.code-snippets)は、pを出力するだけ。

{
    "DDP": {
          "prefix": "p",
          "scope": "perl",
          "body": [
            "use DDP; p $1;"
          ],
          "description": "DDPによるダンプ"
    }
}


実際に上記スニペットを出力するとこんな感じで、オプションがずらずら挿入されず、スッキリしていて、日本語も表示するなどのカスタマイズもできて便利だし、リポジトリに設定を含めて配布できるので、チームメンバーの手元でも快適プリントデバッグが可能。

use DDP; p $self;


出力結果を細かく調整したい人は.dataprinterファイルに好きな設定を書いていけばいいと思うけど、個人的には上記設定だけでとくに困っていない。
プリントデバッグって、その場しのぎの調査用のものなので、あまり凝ったカスタマイズは求められていないのかもしれない。

関連

プリントデバッグで苦労している人のもとにたびたびこの記事が届けられるのを社内Slackで見ていて、VSCodeのスニペットをリポジトリに入れたり、フォーマットの設定も.dataprinterに書いてリポジトリに入れることで、誰でも使えるようにしていた。
個人のブログ記事を皆が参照しなが仕事しているのが変で、皆が見ているブログ記事があったら、それを見ずに開発できるようにするためには?と考えて、リポジトリに設定を入れたり、リポジトリ内のコメントで教えてくれたりする、というほうが良い流れだと思う。
blog.sushi.money