Получи случайную криптовалюту за регистрацию!

Хороший способ позлить или как-либо задеть «программистов» — и | Уютная тумбочка

Хороший способ позлить или как-либо задеть «программистов» — использовать пропорциональные шрифты для кода. Реакции разнятся от непонимания и неприятия до глубокой ненависти. Некоторые положительно относятся, впрочем.

Ну вы посмотрите, какая прелесть ︎

use std::num::ParseIntError;

fn main() -> Result<(), ParseIntError> {
let number_str = "10";
let number = match number_str.parse::() {
Ok(number) => number,
Err(e) => return Err(e),
};
println!("{}", number);
Ok(())
}


Всё прекрасно читается, ничего не мешается.

Код же, в первую очередь, читают, а не пишут, верно? Так почему же он обычно в дурно читаемом шрифте с буквами одинаковой ширины? Книги-то в пропорциональном печатают не просто так.

В общем, с такими размышлениями я решил прикрутить себе в IDE пропорциональный шрифт. Поскольку я слез с вима, который намертво привязан к терминальной сетке моноширинных символов, у меня не возникло с этим проблем: просто в настройках надо выбрать шрифт, и он работает. Ещё надо отдельно настроить шрифт для встроенной консоли.

Экспириенс приятный. Текст ровно такой, какой он должен быть.

К сожалению, пишу я на го, а там, согласно правилам gofmt, иногда попадаются такие фрагменты оформленного пробелами кода, что пропорциональный шрифт начинает выглядеть не очень хорошо. Типа такого:

var mapExt2Mime = map[string]string{
".bin": "application/octet-stream",
".jpg": "image/jpeg",
".jpeg": "image/jpeg",
".gif": "image/gif",
".png": "image/png",
".webp": "image/webp",
".svg": "image/svg+xml",
".ico": "image/x-icon",
".ogg": "application/ogg",
".webm": "video/webm",
".mp3": "audio/mp3",
".mp4": "video/mp4",
}


А должно так:

var mapExt2Mime = map[string]string{
".bin": "application/octet-stream",
".jpg": "image/jpeg",
".jpeg": "image/jpeg",
".gif": "image/gif",
".png": "image/png",
".webp": "image/webp",
".svg": "image/svg+xml",
".ico": "image/x-icon",
".ogg": "application/ogg",
".webm": "video/webm",
".mp3": "audio/mp3",
".mp4": "video/mp4",
}

Из-за этого я вернул моноширинный шрифт. Только из-за этого.

Кстати, есть специальный пропорциональный шрифт для программирования — Input.

Этот пост не про шрифты.