YAPC::Asia Tokyo 2014

Aug. 28, 29, 30 at KEIO Univ. Hiyoshi Campus [There Is More Than One Way To Enjoy It!]

Talk Information

Perl::Lint - Yet Another Perl Source Code Linter


Abstract

(日本語は下にあります / Japanese follows English)

Hello, every Perl mongers!
Do you use Perl::Critic? I think you are using!
Yes of cource, Perl::Critic is awesome and powerful tool to check our source code.
I wonder how many times Perl::Critic saved me from bugs.
But... I feel this module is a bit slowlly, so processing speed becames fast, I thought that I was glad.

...That is where Perl::Lint come in!

I implemented (it is not accurate, actually I'm implementing now!) Perl::Lint which is the yet another source code linter for Perl. It is fast, simple and compatible with Perl::Critic.
Perl::Lint uses Compiler::Lexer as the analyzer insted of PPI. Compiler::Lexer is the tokenizer for Perl that is written by C++, so really fast. Therefore Perl::Lint realize a speed-up.

In this talk, I will take on a subject such as the following;

  • Background (Why do I develop this?)
  • Outline about static analyzing of Perl and Compiler::*
  • About automation the code review
  • Benefits to use Perl::Lint with bench marking
  • Devices in the implementation or struggles
  • Plugin (policy) mechanism
  • Demonstration
  • Future Prospects

Perl::Lint is a still unripe tool. I hope to discuss with you and make this into a better tool.
(Having said that, although it has not been completed yet :p)

SEE ALSO

  • http://news.perlfoundation.org/2014/03/grant-proposal-perllint---yet.html

ハァイ,パールモンガーの皆さん!
Perl::Critic,使ってますか? 使ってますね!
Perl::Criticは最高にイケててパワフルなソースコードチェッカーですよね.僕も何度これに助けられたことかわかりません.
でも……ちょっと処理が遅いような気がするんですよね.もしもこの処理速度が今より少しでも速くなったら嬉しいと思うんですが……

―そこでPerl::Lintの出番って寸法ですよ!

私が実装した (嘘!! 只今絶賛実装中です) Perl::LintはPerlの為の新しいソースコードチェッカーです.高速に動作し,シンプルで,かつPerl::Criticとの互換性を保っています.
Perl::Lintはソースコードの解析器としてPPIの代わりにCompiler::Lexerを用いています.Compiler::LexerはC++で書かれたPerlソースコードのトークナイザでマジで高速! だからPerl::Lintの高速化を実現できたって訳ですね.

さてさて本トークでは以下の様な話題を取り上げる予定です

  • 開発に至った経緯,動機
  • Perlにおける静的解析及びCompiler::*の概説
  • コードレビューの自動化について
  • Perl::Lintの利点 (ベンチマーク結果等とともに)
  • 実装上の工夫,あるいは苦痛^H労
  • プラグイン (ポリシー) の機構について
  • デモンストレーション
  • 今後の展望

実際のところ,Perl::CriticやPerl::Lintが目指している場所は「コードレビューの自動化」だと思っているので,その辺りの話についても言及したいところです(現実的なのかそうでないのか,効果的なのかそうでないのか,などなど).

Perl::Lintはまだまだ発展段階の未熟なツールです.私は皆さんと議論し,Perl::Lintを更により良いツールにしたいと思っています.ぜひ会場でお会いしてコミュニケーションしましょう!

つーか,とは言うもののまだ完成してないんですけどね!!!!!!! ヒィー

あわせて読みたい

  • http://news.perlfoundation.org/2014/03/grant-proposal-perllint---yet.html
  • http://moznion.hatenadiary.com/entry/2014/03/16/220713

Talk Details

Venue Multipurpose Room 2
Starts On 2014-08-29 13:00:00
Talk Category Libraries
Language Japanese
Slide Subtitles English
Talk Duration 40 minutes
Material (Difficulty) Level Regular
May we take your photo? allow
May we record your talk? allow

Video

Slide