0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

🐍 Pythonのコードフォーマッター & 静的解析ツール入門(autopep8, black, flake8)

Posted at

はじめに

Pythonでの開発をより快適に、より綺麗にするには、コードフォーマッター静的解析ツールの活用が欠かせません。この記事では、

  • よく使われるツール(autopep8, black, flake8など)
  • 導入・使い方
  • VS Codeでの設定方法
  • CIやAI時代における使いどころ

を初心者にもわかりやすく解説します!


✅ はじめに:なぜフォーマッターと静的解析?

Pythonは可読性が高い言語ですが、コードスタイルが人によってバラバラになりがちです。そこで活躍するのが以下のツールです。

種類 役割
🧹 フォーマッター コードの見た目を自動整形(インデント、スペースなど)
🧐 静的解析ツール 実行前にコードをチェックしてミスや非推奨を検出

🧹 コードフォーマッターとは?

🔧 よく使われるツール

ツール名 特徴
Black 「設定より規約」なスタイル。高速・安定
autopep8 PEP8に従って自動整形。柔軟性あり
YAPF Google製、スタイルの細かい調整可能

🧐 静的解析ツールとは?

🛠 よく使われるツール

ツール名 特徴
flake8 軽量&高速。スタイルとエラーの両方チェック
pylint 高機能で詳細な分析。点数も出してくれる
mypy 型ヒント(Python 3.5+)の整合性チェックが可能

🧪 autopep8の使い方とサンプル

📦 インストール

pip install autopep8

🚀 実行コマンド

autopep8 your_script.py                # 整形結果を表示
autopep8 --in-place your_script.py    # 上書き保存

🧾 サンプル:整形前と整形後

🔴 整形前

def func(a,b):
  if(a==b):print("same")
  else:print("different")

🟢 整形後(autopep8による)

def func(a, b):
    if (a == b):
        print("same")
    else:
        print("different")

💻 VS Codeでのフォーマッター & 静的解析設定

🧩 必須:Python拡張のインストール

  1. Ctrl + Shift + X で拡張機能を開く
  2. Python を検索して、Microsoft製の拡張機能をインストール

⚙️ フォーマッター設定(autopep8)

  1. コマンドパレットで Preferences: Open Settings (JSON) を開く
  2. 以下を追記:
"python.formatting.provider": "autopep8",
"editor.formatOnSave": true

💡 保存時に自動で整形されるようになります!


🔍 静的解析ツール設定(flake8)

  1. flake8 をインストール:
pip install flake8
  1. settings.json に以下を追加:
"python.linting.enabled": true,
"python.linting.flake8Enabled": true

📁 .vscode/settings.json 例(プロジェクトごと)

{
  "python.formatting.provider": "autopep8",
  "editor.formatOnSave": true,
  "python.linting.enabled": true,
  "python.linting.flake8Enabled": true
}

🏗 CIへの組み込みも一般的に

近年では、コードの整形や静的解析を**CI(継続的インテグレーション)**に組み込むケースが増えています。

たとえば GitHub Actions を使って、以下のように自動でチェックを行う設定ができます:

# .github/workflows/lint.yml
name: Lint Check

on: [push, pull_request]

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Set up Python
        uses: actions/setup-python@v4
        with:
          python-version: '3.11'
      - name: Install dependencies
        run: pip install flake8 black
      - name: Run flake8
        run: flake8 your_project/
      - name: Run black check
        run: black --check your_project/

✅ プルリクエスト時に自動でフォーマットやエラーをチェックできるため、コードレビューが効率的になります。


🤖 AI活用時は気にしすぎなくてもOK?

ChatGPT や GitHub Copilot などのAI補助でコードを書く場合、すでにある程度整ったスタイルのコードが生成されることが多いです。

そのため、以下のような傾向があります:

  • AIが書くコードはPEP8にほぼ準拠している
  • フォーマッターを使っても大きな変化は起きにくい
  • ただし、プロジェクト全体での一貫性を保つために導入は有効

💡 AI × フォーマッターの併用で、ミスの少ない・統一感あるコードが保てます。


🗒 ワンポイントまとめ

シチュエーション フォーマッター/静的解析の必要性
チーム開発 ✅ 必須レベル。CIにも組み込もう
個人開発 🔄 あると便利。最低限は使うと◎
AIが補助する開発 🤖 最低限のチェックでOK。CIで補完

🚀 まとめ

  • フォーマッターと静的解析ツールでコードの品質が一気に向上
  • VS Code連携で、保存時に自動実行が可能
  • CIに組み込むことで、コードレビューも効率化
  • AI補助開発でも一貫性を保つために有効
  • 初心者でも autopep8 + flake8 から始めればOK!

💬 おわりに

この記事が役に立ったら「LGTM」お願いします!
皆さんのおすすめツールや設定も、ぜひコメントで教えてください 🙌

0
2
2

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
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?