FC2ブログ

1日3タックルを目指して頑張ります。 ロリ巨乳が大好きです。 > 今日の3タックルTopへ

Top /  若干エンジニアらしい話 /  Python /  連休中に仕事してる俺カコイイ
« 久々に良い天気だったな  |  過疎化がすげー »

連休中に仕事してる俺カコイイ

 2010/05/02 (Sun) -  カテゴリ:  若干エンジニアらしい話 »  Python

何の因果か分からんが、連休中だってのに Python の静的コード解析について調べてる件 連休明けからはもうちょっと段取りを良くして欲しいと切に願う。

はじめに

静的コード解析ツールの候補としては pylint, pyflakes, pychecker があるようだが、今回の目的は import されずに使われている関数だのクラスだのを調べたいってだけなので、これには pyflakes が適してるみたい。

つーことで pyflakes を動かしてみた。ちなみに環境は Ubuntu 8.04.4 LTS + pyflakes-0.4.0 な。

使い方

http://sourceforge.jp/projects/freshmeat_pyflakes/releases/ からファイルを一式ダウンロードして解凍する。解凍後のディレクトリ構成は↓

$ ls -R pyflakes-0.4.0
pyflakes-0.4.0:
PKG-INFO  bin  pyflakes  setup.py

pyflakes-0.4.0/bin:
pyflakes

pyflakes-0.4.0/pyflakes:
__init__.py  checker.py  messages.py  scripts  test

pyflakes-0.4.0/pyflakes/scripts:
__init__.py  pyflakes.py

pyflakes-0.4.0/pyflakes/test:
__init__.py  harness.py  test_imports.py  test_other.py  test_script.py  test_undefined_names.py

ざっとソースを眺めた感じだと、とりあえず PYTHONPATH に pyflakes-0.4.0 を設定すれば動作するっぽいので、インストールはしないで使うことにした。

動かすには(ツールを解凍したディレクトリがカレントディレクトリの状態で)以下のコマンドを実行すれば良い。

$ PYTHONPATH=${PYTHONPATH}:pyflakes-0.4.0 python pyflakes-0.4.0/bin/pyflakes 検査したいソースコードのあるルートディレクトリ

実行結果

コマンドを実行するとこんな結果が出る。意味は見たまんま。インポートしてるけど使っていないモジュールやら * でインポートしてるモジュールやら案外細かいところまでエラーが出てくる。

/hoge/fuga.py:1: 'from xxxx.yyyy import *' used; unable to detect undefined names
/hoge/fuga.py:25: undefined name 'XXXXXX'
/hoge/fuga.py:33: 'yyyy_zzzz' imported but unused
などなど

まとめ

表示されるエラーにどんなエラーがあるかは pyflakes-0.4.0/pyflakes/messages.py を見れば良さげ。今回の目的である import されずに使われている関数だのクラスだのは「undefined name 'xxxx'」をチェックしとけば良いんじゃないかなぁ。

            _. -=ニ::_Z ̄ニ=-  .._
        / (:_: ;r'": :/:: ̄:7''ヽ:,r': ̄`ヽ、
        /: : : : : :ヽ、:_(_: : : (:: : : :\,r=‐':"⌒ヽ._
      / : : : : : ; ': : : : : : ̄::ヽ、__/: : : : : l: : :/ミノ
     ' : : : : : / : : : : : : :__:ヽ_: /:: :l: :l: : : : l : ゙‐'ヽ
     l: : : : : :;' : : : : : : (((//゙ハ、 : l: :l : : : l: : : l : ',
.    l: : : : : :l: : : : : : : : : : : :`Vノ : l: :l: : : ,' : : ;': l:ll
    l: : : : : :l: : : : : : : : : : : l: :/:l :l: :l: :l:: :/ /::/: :;リ|   「残業はしない」
    l: : : : : :l : : : : : : : : : : l: :l::ノ: }: :} l / /::/レj:/::|    「納期は守る」
.     l: : : : : l: : : : : : : : : : :l: :|/_;イ_;イ_;リ、// .ノ/:|
     '; : : : : l: : : : : : : : : ::l: :|ニニ ‐--ミ`' } ,ィチj゙ :|   「両方」やらなくっちゃあならないってのが
    /´ヽ: : : :l; : : : : : : : : :l: :|z't'ツ"_>`` '" {^~ |: :|   「下請け」のつらいところだな
  / ¶′\: :ll : : : : : : : : l: :| `~¨´ (::"′   ',ノl: :j
,r‐{   , \ll : : : : : : : :l: :| :.           ∨ノ:|
  ! ¶′',  r、\: : : : :::::l: :| :.      .._ /´): :l
 ¶′   \ ヾ>、\: : : ll: :|  :.       __-了:/::;'
エエエュ┬r 、\ `ヾ>、\:ll: :|   :   ‐.._'´¨´ノ:/::/
―‐ - 、 ̄`<〉、 ヽ、._`^‐-\ト 、 :      ̄「V/
 ¶′   \ `<〉、 \` ー==┬''^ヽ、 ...__ ノ
   ¶′  \ `〈>、 ヽ`:r'"||  ,タ ¶ }
¶′    ¶′ヽ  `〈>、ヽ i || ,タ  /

« 久々に良い天気だったな  | トップへ |  過疎化がすげー »

コメント

静的=スタティック

ぱいそんのスタティックは気持ちよくなれますか?

  • msdn #-
  • URL
  • 2010/05/02 (Sun) 23:18

性的コード解析なら

気持ち良くなれるみたいだぜ。


.   |::| | |_|,,,,,|.....|--|::|  |  .|  .|  |:::|
.   |::| | |_|,,,,,|.....,;;;;;;;;;;;、‐''''''''""~~ ̄|:::|
    |::| | |. |  | {;;;;;;;;;;;;;;}.: . .: . : .. .: |:::|     / ̄ ̄ ̄ ̄ ̄ ̄
    |::| | | ̄| ̄| '::;;;;;;;;;::' . . :. . .: .: :|:::|    <  ぱいそんたん
    |::| | | ̄|,r''''"~    ""''ヽ. : .: .: ..|:::|     |   はぁはぁ
    |::|,__!_--i'           'i,-――|:::|       \______
   |::|―-- |             'i,二二|:::|
   |::|.     !        i'>  } . iュ |:::|
  -''" ̄~~"",.`!       ; _ノ _,...、|:::|
          'i, `'i'''―--―''''i'ニ-'"   ノ// ̄~""
        ヽ.i' "'    '''"';  _/ // _,,..i'"':,
        ===`ゝ_,.i、_   _,;..-'"_//  |\`、: i'、
                  ̄  ̄ ̄/,/   \\`_',..-i
                     /,/      \|_,..-┘

  • 放課後のジョーカー #-
  • URL
  • 2010/05/06 (Thu) 00:37
Comment Form
このエントリへコメントを書く
(任意)
(任意)
(任意)
(必須) HTML のタグは使用できません
(AAを貼るときは、[太字] ココにAAを書く [/太字] のように 太字 タグで括るときれいになります。左下の[太]ボタンをクリックして「ずれないAA 小」 というところにAAを書いてください。斜体、下線、打消 で括ってもずれないAAにすることができます。)
http:// は禁止ワードです。
(任意) ID生成と編集に使用します

コメントのプレビューのようなもの

ここにプレビューが出ます。

トップへ

トラックバック

http://3tackle.blog55.fc2.com/tb.php/422-b4b18b60

最新記事
カテゴリ
最新コメント
最新トラックバック
月別アーカイブ
カウンタ
_
カレンダー
11 | 2019/12 | 01
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
これはやべぇ

インターネッツの設定をしてあげたついでに、接続確認と称してこのブログを開いたら、気になるあの娘が検索したアイテムがwww

万が一アダルトグッズが表示されたりしたらと思うと股間が熱くなるな。

とか妄想してたけど、インターネッツの設定をしてあげた直後に検索の履歴が残ってるわけないか
(´・ω・`)
にしても使い方によってはこの機能は凶悪だな。

プロフィール

タックル

Author:タックル
三度のメシより大ライスが好きなエンジニアです。
焼肉屋に行ったら最初の一杯は大ライスで乾杯! 全然関係ないけど食堂のカレーなら4杯は軽いよ。

ちなみにロリ巨乳は大ライスより好き!

プライベートでタックルされてくれるロリ巨乳のお友達を24時間365日募集中です。

エントリーの内容はタックルの日々の生活について多少脚色しながら面白おかしく書いている限りなくノンフィクションに近いフィクションです。

嘘を嘘と見抜けない人は(ry

Webサービス
フィードメーター - 今日の3タックル あわせて読みたいブログパーツ
タックル会
個人的なリンク