Python開発環境に初めてコード整形ツールを導入
業務では最近主にNode.jsを使っており、Eslint, Prettierの使用経験はありましたが、最近使い始めたPythonのコードについては全く静的解析ツールやコードフォーマッターを入れていないので、VSCodeの開発環境に導入していきます
導入するプロジェクトの概要
ディレクトリ構成
(root)
┣ app/
┣ docker-compose.yml
┣ Dockerfile
┣ poetry.lock
┗ pyproject.toml
導入するツール
静的解析
- flake8
- mypy
コード整形
- black
- insort
それぞれのツールに関する説明はこちらの記事で丁寧に説明されていたので詳しくはリンク元を見てください🙇
手順
poetry導入済みのDocker環境が作成されていることが前提になります。
今回docker-composeを使っています。
docker-compose exec poetry app add flake8 -D
docker-compose exec poetry app add black -D
docker-compose exec poetry app add insort -D
docker-compose exec poetry app add mypy -D
除外したいエラーをVSCode上でignore
- VSCodeの画面左下のSettingsを開きます
- 「flake8」で検索し、Python › Linting: Flake8 Argsに除外したいエラーの規約番号を
--ignore
のパラメータに渡します
--ignore=E501
良かったこと
静的解析で不適切な箇所を事前に発見し、かつコードが綺麗になるのはもちろん良いのですが、最初静的解析を入れていない状態でコードを書いていたので入れた瞬間にエラーが出まくり、知らないPythonの規約を知れたので良かったです