LoginSignup
0
0

More than 1 year has passed since last update.

【Django】静的コード分析ツール flake8 の導入

Posted at

概要

コーディング規約って?

システム開発は通常数人のチームで開発を行うけど、人が違えばコードの書き方なんて違って当然ですよね?

しかし、書き方が大きく違ってしまうと、他の人が見てわからなくなったり、なんなら作った自分がわからなくなったり・・。
これは、バグの修正や拡張のしにくさにつながって、メンテナンスしにくくなってしまう原因となるわけです。

そこで開発者によってコードの書き方のキマリとして、コーディング規約というものが存在します。

それっておいしいの?

コーディング規約を守ることで、コードの保守性や品質を高めることができると言われています。
ちなみにコードの保守性とは、主に以下のようなことかなと思います。

  • 誰でも理解しやすい
  • バグを発見/修正しやすい
  • いつ見てもすぐコードの内容が理解できる
  • 機能追加を誰でも行える

PythonにもPEP8という規約があります。
まずはぜひ公式ページをザッと読んでみてください。

さて、新人コーダーでこれを全部頭に入れてコーディングできている人はどのくらいいるでしょうか・・?

ということで、コーディング規約をチェックするものとして静的コード分析ツールflake8」がありますので、それを新人コーダーたちの環境に導入し、保守性や品質の向上を図ることにしました。

早速、Djangoの開発環境にflake8を導入していきます。

flake8のインストール

1. pipでflake8をインストール

コマンド
pip install flake8

2. requirements.txtへの保存

別環境で一括インストール可能とするために、更新しておきましょう。

コマンド
pip freeze > requirements.txt

3. Djangoプロジェクトのフォルダに.flake8ファイルを作成

4. 作成した.flake8ファイルに以下の除外対象設定を記入

不要なチェックもあるので除外しています。

.flake8
[flake8]
exclude =
    .git,
    .gitignore,
    *.pot,
    *.py[co],
    __pycache__,
    venv,
    .env

ignore =
    E121,
    E126,
    E127,
    E128,
    E203,
    E225,
    E226,
    E231,
    E241,
    E251,
    E261,
    E265,
    E302,
    E303,
    E305,
    E402,
    E501,
    E741,
    W291,
    W292,
    W293,
    W391,
    W503,
    W504,
    F403,
    B007,
    B950,

max-line-length = 200

flake8の使い方

1. Djangoプロジェクトのフォルダに移動

2. flake8の実行

■全体をチェックする場合

コマンド
flake8

■特定のファイルをチェックする場合

コマンド
flake8 main.py

■特定のフォルダ以下のファイルをチェックする場合

コマンド
flake8 views/

【実行結果】
image.png

NGが出たら、指摘メッセージに基づいて修正を行ってください。
下記の記事を参考にしてください。
(【Python】flake8指摘事項まとめ)[https://www.yokoyan.net/entry/2018/07/02/181500]

おわりに

基本的には、このチェックによってNGがゼロ件になるように保ってください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0