Как я перестал использовать цвета и стал подсвечивать код по важности

Highlighting My Code Based on How Much I Care

Автор, вдохновившись статьей Никиты Прокопова о неэффективной подсветке синтаксиса, решил создать собственную тему. Он обнаружил, что светлые темы сложны из-за контраста, и в итоге отказался от цвета в пользу оттенков серого. В своей системе он выделяет только то, что действительно важно: комментарии, определения переменных и функций, а также управляющие конструкции. Обычные ключевые слова и пунктуация становятся почти незаметными. Подсветка призвана помогать глазу быстро находить смысловые части кода, а не отвлекать на синтаксис.

Если вы не можете вспомнить, какого цвета в вашей теме имена классов, значит, ваша цветовая схема не работает — она лишь успокаивает, а не помогает.
  1. nrabulinski

    nrabulinski:

    > попробуй вспомнить, какого цвета в твоей теме оформления имена классов?

    Хотя я в целом согласен с мыслью этого поста и поста, на который он ссылается, я не согласен с предпосылкой, что нужно уметь активно вспоминать такие факты. Тема, которую я лично использую, довольно приглушённая, но она использует разные цвета для переменных, ключевых слов, аргументов, имён типов и нескольких других классов токенов. Я не думаю сознательно «хм, а какого цвета аргумент», чтобы искать их в коде — я просто их вижу, выучил за годы, и это уже мышечная память, которая помогает мне читать код. Так же, как я не могу вспомнить код от подъезда, но ввожу его несколько раз каждый день.

  2. sph

    sph:

    Я убеждён, что все неправильно понимают подсветку синтаксиса, и эта статья меня поддерживает.

    Мои любимые раздражители:

    - Я понятия не имею, как люди умудряются быть продуктивными с не-семантическими темами-радугой, которые так популярны в современных редакторах. У меня слишком СДВГ, чтобы быть чрезмерно стимулированным бесполезной информацией.

    - Я постоянно ненавижу встречать код Zig на Github, где используемая тема превращает всё в коричневый. А, это потому что это член структуры. Чувак, в Zig всё — члены структур, глупо выделять яркий цвет для того, что составляет 90% исходного кода. Случайный пример из истории браузера: https://github.com/foxnne/aftersun/blob/main/src/time/enviro...

    - Вчера я открыл какой-то код на Lisp в текстовом редакторе KDE KWrite, и каждая тема по умолчанию выделяет скобки жирным шрифтом и ярким цветом, чтобы они бросались в глаза. Скобки в Lisp должны сливаться с фоном, а не выпрыгивать в лицо. Это было совершенно непригодно, мне пришлось отключить подсветку синтаксиса.

    Всегда ищу хорошие, минималистичные, приглушённые цветовые темы для своих редакторов. Хотелось бы, чтобы серьёзные дизайнеры создавали темы для удобства и комфорта, а не люди, которым не следует играть с цветами.

    Помню коллегу, который писал код с выключенной подсветкой синтаксиса, и думал, что это эксцентричный выбор. Чем старше я становлюсь, тем больше ценю его мудрость. Я бы предпочёл отсутствие подсветки синтаксиса плохой; по крайней мере, можно было бы попытаться сделать код легко парсируемым по одной лишь структуре (сокращено…)

  3. wzdd

    wzdd:

    Эти посты о переосмыслении подсветки всегда начинаются с неверной предпосылки. Цвет имён классов в моём коде — это цвет, который есть у всех имён классов. Поработав с кодом некоторое время, я бы заметил, если бы один выглядел неправильно.

    Мозг на самом деле очень эффективен. Ты не оптимизируешься на случайное запоминание вне контекста, если только не прилагаешь к этому усилий. Это ничего не говорит об эффективности схемы.

  4. mattlondon

    mattlondon:

    Хм, это не совсем то, что я ожидал.

    Я думал, что это будет какая-то подсветка на основе сложности/риска/важности. Это сразу показалось мне моментом «почему я до этого не додумался?!», хотя на самом деле они тоже не додумались.

    Так что я могу представить сценарий, где ты просматриваешь дифф от LLM-агента в IDE во время итераций. Дифф был бы подсвечен по важности/сложности для человеческого ревью. Тривиальные вещи вроде геттеров и сеттеров были бы серыми. Очень сложный или рискованный код был бы выделен высококонтрастным жирным цветом (возможно, со шкалой яркости в зависимости от критичности). Тогда при просмотре диффа от агента ты мгновенно видишь и сосредотачиваешься на самых важных частях, требующих наибольшего внимания.

    Мне бы это очень пригодилось.

  5. twitchard

    twitchard:

    Если подсветка синтаксиса на основе правил действительно полезна для чтения кода, то почему никто не использует подсветку синтаксиса на основе правил для прозы?

    Почему бы, например, не выделять визуально глагол в предложении и не приглушать артикли и предлоги?

    В прозе автор может *выделить* текст жирным или курсивом для акцента, или использовать ## заголовки для сканирования. Почему мы не можем делать такие же ad-hoc выделения в коде?

Ещё за этот день

2026-08-31