SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

PyCon JP実行委員プレゼンツ Python最新トレンド

【2025年版】Python開発「3種の神器」:uv、Ruff、VS Codeで快適環境を構築しよう

PyCon JP実行委員プレゼンツ Python最新トレンド 第1回

  • X ポスト
  • このエントリーをはてなブックマークに追加

コード静的解析ツール・フォーマッタ「Ruff」

Pythonにおける「読みやすさ」の重要性

 Pythonの開発において広く知られる「The Zen of Python(PEP 20)」は、Pythonの設計思想や開発者の価値観を示す19の原則から成り立っています。

 そのうちの一つに、以下の原則があります。

 Readability counts.(読みやすいことは善である)

 この一文が示す通り、Pythonにおいて「読みやすさ」は単なるスタイルの問題ではなく、コード品質そのものを左右する根本的な価値観です。読みやすいコードは、保守しやすく、バグも発見しやすく、共同作業もスムーズに進みます。

 しかし実際の開発現場では、「読みやすさ」を全員が一貫して守るのは容易ではありません。人によってスタイルが微妙に異なったり、レビューにおいて不必要なスタイルの指摘に時間を取られたりすることもあります。そこで重要になるのが、フォーマッタや静的解析ツールといったツールの導入です。

 フォーマッタ(Formatter)は、コードの見た目を自動的に整えるツールです。行の折り返しやインデントなどを標準化し、プロジェクト全体のフォーマットを統一します。

 静的解析ツール(Linter)は、コードに潜む潜在的なバグや非推奨な書き方、構文ミスなどを静的に検出するツールです。

 最近注目されているのが、超高速な静的解析ツールRuffです。RuffはRust製の静的解析エンジンを使っており、既存のツールよりも圧倒的に高速です。

インストール

 RuffはPythonパッケージの一つとしてインストールされます。そのため、uvを利用すると、プロジェクトの中で次のようにインストールできます。

$ uv add ruff
$ uv sync

VS Code、uv、Ruffを実際に使ってみ$よう

 それでは、これら3つのツールを使って、実際にコードを書いてみましょう。

プロジェクトの作成

 任意の場所でディレクトリ(例としてexample)を作成し、カレントディレクトリを移動します。

$ mkdir example
$ cd example

 uvでプロジェクトを初期化します。

$ uv init
Initialized project `example`

 サンプルのPythonスクリプトができています。実際に動作させてみましょう。

$ uv run main.py
Hello from example!

VS Codeでプロジェクトを開く

 サイドバーの「エクスプローラ」タブで「フォルダを開く」を選択し、出てきたファイラのウィンドウで、先ほど作ったexampleディレクトリを開きます。

VS Codeでプロジェクトを開く
VS Codeでプロジェクトを開く

Tips

 「プロジェクトの作成」で使ったターミナルで「code .」と入力すると、現在のディレクトリをルートにしてVS Codeを開くことができます。 

 作成したディレクトリ内に、さらにディレクトリを作成したり、ファイルを追加したりしてコードを書き始めましょう。

Ruffを使ったコードのフォーマット

 以下のコードは、よくあるFizzBuzzの問題を解くものです。

 今回は、fizzbuzz.pyというファイルを作成し、そのままコピー&ペーストしてみましょう。

for i in range(1,101):
    if i%3==0 and i%5==0:
        print("FizzBuzz")
    elif i%3==0:
        print("Fizz")
    elif i%5==0:
        print("Buzz")
    else:
        print(i)

 しかし、たとえば変数と演算子の間に空白がなかったり、引数のカンマの後に空白がなかったりと、Pythonのコーディングスタイルにおいては、あまり好ましくない書き方になっています。

 ここで、Ruffを使ってみましょう。

 Ctrl + Shift + P(macOS:command + Shift + P)でコマンドパレットを表示します。

 検索ボックスに「format」や「フォーマット」などと入力し、リストアップされる「ドキュメントのフォーマット」を選択します。

Tips

 あるいは、エディタ画面で単にShift + Alt + F(macOS:Shift + Option + F)を押すことでも、同じ操作が可能です。ここで、「Configure Default Formatter」あるいは「既定のフォーマッタを構成する」が表示された場合、「構成...」「Configure...」を選択し、「Ruff」を選択します。

ドキュメントのフォーマット
ドキュメントのフォーマット

 エディタの画面は変化したでしょうか? Ruffによって、次のようにコードのスタイルが自動的に整えられたはずです。

for i in range(1, 101):
    if i % 3 == 0 and i % 5 == 0:
        print("FizzBuzz")
    elif i % 3 == 0:
        print("Fizz")
    elif i % 5 == 0:
        print("Buzz")
    else:
        print(i)

 また、この操作をせずに、保存時やペースト時に自動でコードフォーマットを整える設定も可能です。

 詳しくは、こちらのドキュメントを参照してください。

次のページ
uv、Ruff、VS Codeの真価

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
この記事の著者

鶴丸 倫琉(ツルマル ミチル)

 大学生。広島県在住。2005年、山口県生まれ。PyCon JP 2025 主催メンバーの一員として、Python コミュニティに関わる。2021年(高1)の時、地元で行われていたプログラミングコンテストに応募し、プログラミングの楽しさを知る。2023年、国際学生科学技術フェア(ISEF)に参加する...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/21947 2025/08/07 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング