2015年12月20日

pep8でスタイルチェック

Python ソースコードのコーディングスタイルをチェックする pep8 を紹介します。

pep8 はその名の通り、ソースコードが PEP8 に準拠しているかどうかをチェックするライブラリです。
以下のソースコードを pep8 でチェックしてみます。

__version__ = '1.0.0'

import fnmatch
import os

def my_glob(root_dir='.', pattern='*', recursive=False):
    paths = []
    append = paths.append
    
    for loop_dir, _, files in os.walk(root_dir, topdown=True): # topdown shall be True
        for file in files:
            if fnmatch.fnmatch(file, pattern):
                append(os.path.join(loop_dir, file))

        if not recursive:  # if not recursive, break in first loop
            break

    return  paths

チェック結果は以下のようになりました。ソースコードの書式について、いくつか指摘が挙がっています。
3: E402 module level import not at top of file
4: E402 module level import not at top of file
6: E302 expected 2 blank lines, found 1
9: W293 blank line contains whitespace
10: E261 at least two spaces before inline comment
10: E501 line too long (86 > 79 characters)
18: E271 multiple spaces after keyword

(対訳)
3行目: E402 importは最上部に書くべき
4行目: E402 importは最上部に書くべき
6行目: E302 関数の前は2行空けるべき、1行しか空いていない
9行目: W293 空行に空白が混じっている
10行目: E261 文中のコメントは、# の前に空白を2つ以上置くべき
10行目: E501 行の文字数が多すぎる (86文字 > 79文字)
18行目: E271 returnの後ろにスペースが複数ある

pep8 の特徴として以下が挙げられます。
  • 動作が軽量
  • 指摘理由が PEP8 由来であるという点がハッキリしている
  • あくまでコーディングスタイルのチェックであり、ソースコードの分析は行わない
ソースコードはプログラマーの成果物です。世に出す前には、このツールで形を整えておきたいところです。

0 件のコメント:

コメントを投稿