weatherlink

内容来源:README.md(说明文档) · 原始地址 · 查看安装指南

原始内容

Devcontainer Python

このリポジトリは、Python プロジェクトの開発環境を簡単に構築できる Devcontainer を利用したテンプレートです。必要なツールや依存関係があらかじめ設定されており、一貫した開発環境を提供します。

特徴

  • Python 3.11 を使用
  • あらかじめインストールされているツール:
    • pytest(テストフレームワーク)
    • flake8(コードリントツール)
    • black(コードフォーマッタ)
  • Devcontainer による一貫性のある開発環境
  • Docker ベースの隔離された環境で、設定の一貫性を保証
  • サンプルコードとリファレンス例の追加
    • Python の基本的な文法やデザインパターンをカバー
    • 詳細なテストケースを含む実装

はじめに

以下の手順で、この開発環境を利用できます。

  1. このリポジトリをクローンします:

    git clone https://github.com/tomohiroJin/devcontainer-python.git -b feature/add-reference
    cd devcontainer-python
    
  2. VS Code でプロジェクトを開きます:

    code .
    
  3. Devcontainer でプロジェクトを再オープンするように求められたら、指示に従って再オープンします。

  4. セットアップを確認するためにテストを実行します:

    pytest
    

リファレンス

このプロジェクトには、基本的な Python の文法と主要なデザインパターンを学習・参照できるサンプルが含まれています。

使用方法

1. テストの実行

pytestを使用してプロジェクトのテストを実行します。以下のように、さまざまな方法でテストを実行できます。

すべてのテストを実行

pytest

特定のテストファイルを実行

特定のテストファイルのみを実行したい場合は、ファイルパスを指定します。

pytest tests/reference/basic/test_conditions.py

テストの進捗と詳細を確認

-v(verbose)オプションを使用して、各テストの詳細を確認できます。

pytest -v

特定のテストケースを実行

-kオプションを使って、名前に特定の文字列を含むテストケースを実行します。

pytest -k "fizzbuzz"

テスト中の出力を確認

テスト中のprintやログの出力を確認したい場合、-sオプションを使用します。

pytest -s

テスト結果をリポート形式で保存

pytest-htmlプラグインを使用して、HTML 形式のレポートを生成します。

pip install pytest-html
pytest --html=report.html

2. コード品質チェック

flake8を使用してコードの品質を確認します。以下のオプションを組み合わせることで、詳細な結果を得ることができます。

基本的なコードチェック

プロジェクト全体をチェックします。

flake8

最大行長を指定

Black と統一するために、最大行長を 88 文字に設定します(設定ファイルに記述しても OK)。

flake8 --max-line-length=88

特定のルールを無視

Black と矛盾するルール(例: E203, W503)を無視して実行します。

flake8 --ignore=E203,W503

特定のファイルのみをチェック

特定のファイルやディレクトリだけをチェックします。

flake8 src/fizzbuzz/fizzbuzz.py

コード内の TODO や FIXME を確認

--radar--todoプラグインを使用して、TODO コメントを含む箇所を一覧表示します(プラグインのインストールが必要)。

pip install flake8-todo
flake8 --todo

3. コードのフォーマット

blackを使用してコードを自動整形します。

プロジェクト全体をフォーマット

プロジェクト内のすべての Python ファイルをフォーマットします。

black .

変更内容をプレビュー

--checkオプションを使用すると、フォーマットの提案内容だけを確認できます(実際の変更は行われません)。

black --check .

特定のファイルやディレクトリだけをフォーマット

特定の範囲だけを対象にする場合、パスを指定します。

black src/fizzbuzz/fizzbuzz.py

カスタマイズ:

  • .devcontainer/devcontainer.json ファイルを編集することで、開発環境をカスタマイズできます。
  • 例えば、Python のバージョン変更や追加ツールのインストールが可能です。

ライセンス

このプロジェクトは MIT ライセンスの下で提供されています。