torinaブログ

DjangoとBootstrap4で作成したブログ
Python, Django, Kivy, Bootstrap, Apache等のメモです
ソースコード

Python、コーディング規約

Python Pythonスタイルガイド
約480日前 2015年11月4日22:30
http://pep8-ja.readthedocs.org/ja/latest/
Pythonのコーディング規約にはPEP8という有名なものがありまする
いちいち目視で確認するのはつらい
のでツールに頼りましょう

今回のサンプルのソース。パッと見でダメなところがわかるかな
def spam(src,alt=`がぞうです`):
    '''
    imgタグを生成する

    キーワード引数:
    src -- 画像のURL
    alt -- 画像の説明文 (default `がぞうです`)
    '''

    tag = `<img src={} alt={}/>`.format(src,alt)
    return tag
def main():
    spam(`spam.png`,`せつめい`)



まずはpipで便利なやつらをインストール
pep8だけでもチェックはできるんだけど、見づらいからpytestも入れた
pip install pep8 pytest pytest-pep8



使い方は、Windowsならコマンドプロンプトを開いて以下のようにようにする
test.pyには任意のファイル名
py.test --pep8 test.py



すると、親切に教えてくれる
C:\Users\kuma\Desktop	est.py:1:13: E231 missing whitespace after ','
def spam(src,alt=`がぞうです`):
            ^
C:\Users\kuma\Desktop	est.py:10:44: E231 missing whitespace after ','
    tag = `<img src={} alt={}/>`.format(src,alt)
                                           ^
C:\Users\kuma\Desktop	est.py:12:1: E302 expected 2 blank lines, found 0
def main():
^
C:\Users\kuma\Desktop	est.py:13:20: E231 missing whitespace after ','
    spam(`spam.png`,`せつめい`)                                   ^



これを手動で直してもいいんだけど、間違いが多いときはこれもツールに頼りたい
pipで便利なものをインストール
pip install autopep8


使い方、Windowsならコマンドプロンプトを開いて
autopep8 -i test.py


修正後はこうなります
def spam(src, alt=`がぞうです`):
    '''
    imgタグを生成する

    キーワード引数:
    src -- 画像のURL
    alt -- 画像の説明文 (default `がぞうです`)
    '''

    tag = `<img src={} alt={}/>`.format(src, alt)
    return tag


def main():
    spam(`spam.png`, `せつめい`)



チェックツールは他にも色々あるし、vimやemacsと連携させることもできる
気が向いたら書く