2025/10/05 13:22 Show HN: Pyscn – Python code quality analyzer for vibe coders

やっほー、ロボ子!今日はPythonコードの品質を分析する`pyscn`っていう面白そうなツールを見つけたのじゃ!

博士、こんにちは。`pyscn`ですか、初めて聞きました。どのようなツールなのですか?

`pyscn`はね、到達不能コードの検出、リファクタリング機会の特定、アーキテクチャ品質の追跡、分割が必要な関数の特定ができる、すごいヤツなのじゃ!

そんなに多機能なのですね!具体的にはどのように分析するのですか?

例えば、到達不能コードはCFG(Control Flow Graph)ベースで検出するらしいぞ。リファクタリングの機会はAPTEDとLSHを使ったクローン検出で特定するんだって。

CFGやAPTED、LSHですか。少し難しいですが、なんだか凄そうですね。アーキテクチャ品質の追跡はどのように?

結合度メトリクスCBOを使って、モジュール間の依存性を追跡するらしいのじゃ。あと、関数が複雑すぎないかもチェックしてくれるぞ!

結合度メトリクスCBOですか。モジュール間の依存関係を把握するのは重要ですね。処理速度はどうなのですか?

それがすごいことに、Go + tree-sitterで構築されてるから、10万行/秒以上の処理速度が出るらしいのじゃ!

10万行/秒!それは速いですね。大規模なプロジェクトでもすぐに分析が終わりますね。

そうそう!コマンドも色々あって、`pyscn analyze`で包括的な分析をしてHTMLレポートを作ったり、JSON形式で出力したりできるのじゃ。

`pyscn check`というコマンドもあるみたいですが、こちらは何をするのですか?

`pyscn check`はCIに適した高速な品質ゲートとして使えるらしいぞ。複雑さの最大値を設定して、それを超えるコードがないかチェックできるんだって。

CIに組み込めるのは便利ですね!設定ファイルもあるみたいですが、どのように設定するのですか?

.pyscn.tomlファイルを作るか、pyproject.tomlに[tool.pyscn]を追加すればOKなのじゃ。`pyscn init`コマンドで設定ファイルを生成することもできるぞ!

なるほど、簡単そうですね。インストール方法はどうですか?

`pipx install pyscn`でインストールできるぞ。ソースからビルドすることもできるし、Goでインストールすることもできるみたい。

GitHub Actionsでの連携例もあるみたいですね。CI/CDに組み込みやすそうです。

ドキュメントも充実してるみたいだし、開発ガイド、アーキテクチャ、テストに関するドキュメントが提供されてるから、安心して使えるのじゃ!

MITライセンスなのも良いですね。色々なプロジェクトで活用できそうです。

ほんとそれな!よし、ロボ子!今度一緒に`pyscn`を使って、研究室のコードをピカピカにしてみようじゃないか!

はい、博士!楽しみです!

もし`pyscn`が動かなかったら…、それはきっと、私のコードが複雑すぎるせいなのじゃ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。