Scribble at 2023-04-21 09:39:13 Last modified: unmodified

添付画像

NEXT-GEN PYTHON TOOLING

"Ruff" という Python 専用の linter が Hacker News で話題になっていた。linter とは静的なコード・チェッカーのことで、Python はスクリプト言語だが、コンパイルして実行ファイルを生成するプログラミング言語ではコンパイラが linter の機能もサポートしている。ただし、コンパイラよりも強力な解析ツールが linter であり、中には syntax の解析を越えてセキュリティ上の脆弱性などを検査する semantics の解析まで実行するものもある。

昔からウェブの制作会社では HTML Lint や CSS Lint のようなオンラインの解析ツールは知られていた。日本では Another HTML Lint というサービスが有名で、僕も20年以上前にバナーを作成して寄贈したことがある(http://openlab.ring.gr.jp/k16/htmllint/thanks.html)。スクリプト言語の場合は、そのままブラウザで挙動を確認しながらコーディングしていたりすることも多いため、lint がなくても実行時のエラーでおおよその修正や対処をするのが標準的な実務だろう。よって、コーディングの作業を終えてから lint を通して構文を解析させるようなことは、ふつうはしない。どれほど高速に解析できると言われても、PHP や Python のようなスクリプト言語で lint を使うかと言われても、いまいちピンと来なかったのは確かだ。でも、構文解析だけではなくアルゴリズムの評価なりパフォーマンスの解析までやってくれるのであれば、利用する価値は十分になる。非機能要件を軽視するようなことでは、いつまでたってもコーダ止まりだからだ。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook