23
Takao.mt 2013 Pull Request が即 Revert される @moznion

Takao.mt 2013

  • Upload
    moznion

  • View
    325

  • Download
    0

Embed Size (px)

DESCRIPTION

Takao.mt 2013 の資料です Perl で静的解析をするなどという内容です。

Citation preview

Page 1: Takao.mt 2013

Takao.mt 2013Pull Request が即 Revert される

@moznion

Page 2: Takao.mt 2013

@moznion大学生院生

アルバイトソフトウェアエンジニア

はてなインターンいきます

Page 3: Takao.mt 2013

職質テックトークよろしくお願いします

Page 4: Takao.mt 2013
Page 5: Takao.mt 2013

StaticAnalysis on Perl

Page 6: Takao.mt 2013

コードから不要なものを取り除いて見通しを良くしよう!Quality of Code をあげるんや!

Page 7: Takao.mt 2013

Test::Vars

Page 8: Takao.mt 2013

Test::Vars!fx 神謹製.スコープ内にある未使用の変数を検出、通知してくれる.(内部 B バリバリ.触れない!)

Page 9: Takao.mt 2013

Test::Vars

Page 10: Takao.mt 2013

Test::VarsDetect it!

Page 11: Takao.mt 2013

Test::LocalFunctions

Page 12: Takao.mt 2013

Test::LocalFunctions拙作 (+ papix 氏).パッケージ内の不要なローカル関数を検出、通知.PPI ( or Compiler::Lexer) を使用.

Page 13: Takao.mt 2013

Test::LocalFunctions

(悪い意味で)ゆるふわな感じする

Page 14: Takao.mt 2013

Test::LocalFunctions

Page 15: Takao.mt 2013

Test::LocalFunctions

Detect it!

Page 16: Takao.mt 2013

Test::UsedModules

Page 17: Takao.mt 2013

Test::UsedModules拙作 (+ papix 氏).(?:use | require | load) されているのに使われていないモジュールを検出・通知.

Page 18: Takao.mt 2013

Test::UsedModules

PPI (or Compiler::Lexer) を使用.これまたゆるふわ!

Page 19: Takao.mt 2013

Test::UsedModules

Page 20: Takao.mt 2013

Test::UsedModules

Detect it!

Page 21: Takao.mt 2013

Test::UsedModules欠点・モンキーパッチあたってると 正しく検出できなくて死ぬ・`load $module_name;` みたいな 感じのは検出できない

Page 22: Takao.mt 2013

Patches Welcome!!

Page 23: Takao.mt 2013

そして静的解析しよう!!!