コンパイル不要のスクリプト言語では、実行時に思わぬエラーに見舞われることはよくあることで、それが事前に発見出来ないから、Pythonは好きではないなどと頓珍漢なことを言う人がいるので、こうしたエラーを事前に発見できるツールを試してみました。Pyconの基調講演でも話題になっていましたが、有名なところでは、Pylint、Pyflakes、PyCheckerがあるようです。
まず、Pylint。pip install pylintですぐ入ります。実行もpylintの引数に調べたいPythonのソースファイルを渡すだけ。しょぼいですがGUI版もあります。これはとにかく詳しい。デフォルトだと、カンマの後にスペースがないとか、細かいことをものすごい量で指摘してくれて、最後にお前のコードは10点中何点だ!とまで採点してくれます。ちなみにちょっとしたデータ解析用に書いた400行弱のソースがまさかの1.41点。凹みます。しかも、なんだか詳しすぎて的外れの指摘もちらほら。たとえば、pandasのDataFrameをtupleと勘違いする場面など、ちょっとなんだなーという感じ。 次に試したのは、pyflakes。これはお薦めのデータ解析用Pythonパッケージである、Anacondaに同梱されているので、インストールの必要なし。実行も簡単で、エラーの指摘も簡潔でよい感じです。おそらく作りとしてはPylintの方が凝っているんでしょうが、未定義の変数の指摘など、実行時に避けたいエラーを見つけるだけなら、こちらで十分な模様。 最後に、PycheckerはGoogle内部のPythonコード規約で利用が推奨されていて、気になっていたのですが、pyflakesでいいかと思い始めているところに、pipで適当に打っても入らなかったので、今回は見送りました。しばらく、pyflakesとpylintを利用してみます。 スポンサーサイト
|
|
| ホーム |
|