概要
コーディング規約って?
システム開発は通常数人のチームで開発を行うけど、人が違えばコードの書き方なんて違って当然ですよね?
しかし、書き方が大きく違ってしまうと、他の人が見てわからなくなったり、なんなら作った自分がわからなくなったり・・。
これは、バグの修正や拡張のしにくさにつながって、メンテナンスしにくくなってしまう原因となるわけです。
そこで開発者によってコードの書き方のキマリとして、コーディング規約というものが存在します。
それっておいしいの?
コーディング規約を守ることで、コードの保守性や品質を高めることができると言われています。
ちなみにコードの保守性とは、主に以下のようなことかなと思います。
- 誰でも理解しやすい
- バグを発見/修正しやすい
- いつ見てもすぐコードの内容が理解できる
- 機能追加を誰でも行える
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]
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/
NGが出たら、指摘メッセージに基づいて修正を行ってください。
下記の記事を参考にしてください。
(【Python】flake8指摘事項まとめ)[https://www.yokoyan.net/entry/2018/07/02/181500]
おわりに
基本的には、このチェックによってNGがゼロ件になるように保ってください。