log

pep8 を使ってみた

PEP 8 -- Style Guide for Python Code という Python のコーディングスタイルがあります。これに沿って書くとコードが読みやすくなるよ、というものなんですが、ソースコードがこの pep8 に沿っているかどうか確認するツールがあります。pep8 1.4.4 : Python Package Indexです。
試しにインストールしてみましたが、日本語で書かれたソースに対してこのツールを使うと 80 文字を越えてないはずの文字列に対して

test.py:3:80: E501 line too long (89 characters)

といったような警告を出してきます。
おそらく str 型のまま文字列を扱ってるんだろうな、ということで修正することにします。

$ wget http://pypi.python.org/packages/source/p/pep8/pep8-0.5.0.tar.gz#md5=512a818af9979290cd619cce8e9c2e2b
$ tar zxvf pep8-0.5.0.tar.gz
$ cd pep8-0.5.0

ディレクトリ内に pep8.py というファイルがあったのでこれを修正しました。

$ diff pep8.py.orig pep8.py
211c211
<     length = len(physical_line.rstrip())
---
>     length = len(physical_line.rstrip().decode('utf-8'))

こんな感じで、(おそらく)str 型のままだった箇所を unicode 型に decode しました。
UTF-8 で決め打ちしちゃったのでどっかでこける可能性もありますが…。