Scribble at 2025-10-17 09:05:15 Last modified: 2025-10-20 14:45:44

添付画像

Syntax highlighting is a waste of an information channel

syntax highlighting、定訳はないようだが、"syntax" を「文法」と呼ぶのは違和感があるため、僕は「構文強調」とでも読んでおきたい。ただまぁ、定訳がない状況で独自の訳語を振り回しても「はぁ?」となるのが目に見えているから、やはり "syntax highlighting" と表記しておこう。

かいつまんで言えば、上のブログ記事では従来の強調表示だけでなく、更に細かい用途で色を変えたらどうかと提案している。たとえば以下のような用途だ。

・Rainbow Parentheses 括弧のネストレベルに応じて色分け

・Context Highlighting ネストの深さに応じた色分け

・Import Highlighting 外部ファイルからのインポートを色で識別

・Argument Highlighting 関数の引数とローカル変数を区別

・Type Highlighting 型(例:リスト vs 整数)に応じた色分け

・Exception Highlighting 例外を投げる関数を強調表示

・Metadata Highlighting テストで失敗した関数や特定のブランチにのみ存在する関数などを強調

たまに僕が使っている VSCode の画面をスクリーンショットで添付しているのを見て気づくと思うが、僕は syntax highlighting そのものは否定しないけれど、過剰な色分けはナスカー効果(NASCAR effect)で本末転倒になるだけだと思っているから、色の区別はせいぜい5種類以下にしたほうがいいと思う。したがって、一つの色で一つの意味になるべきだから(一つの色で複数の意味をもたせるのも、かえって混乱する)、関数のオプションと必須の引数とを色で分けるなんていう区別は過剰な用法だと思う。ていうか、それくらい覚えろよ。あるいは、自由文法のプログラミング言語であれば、そもそもコーディング規約を工夫して、引数とオプションとを "func( a /* args <--> opts */ , b )" などと区分すればどうか。

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

冒頭に戻る