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 件のコメント:
コメントを投稿