Я видел пару тем о шрифтах на SO, и кажется, что большинство людей используют моноширинные шрифты для задач программирования. Я использую Verdana для программирования пару лет, и мне очень нравится улучшенная читаемость, без упущения ничего, связанного с моноширинным пространством.
Почему вы используете моноширинный шрифт?
ide
fonts
text-editor
Рик
источник
источник
Ответы:
Моноширинным шрифтом:
Il 0O
источник
Я никогда раньше даже не задумывался о кодировании пропорциональным шрифтом. Так что в интересах науки я просто сменил своего редактора, чтобы попробовать.
Вот несколько наблюдений после исправления пары простых билетов:
!
оператор вif (!foo)
. (если (! foo), смотри!){}[]()
vs {} [] ())$@%
против $ @%)'"!;:,.
vs '"!;:,.)0Oo iIl
сравнению с 0Oo iIl)Но есть и положительные моменты. По общему признанию, я использую его совсем недавно, но, безусловно, есть некоторые аспекты, которые немного лучше работают с пропорциональными шрифтами:
Я обновлю этот ответ завтра снова (при условии, что я смогу прожить так целый день!)
источник
Мне нравится выстраивать связанные условные выражения, чтобы было более очевидно, что они сгруппированы. Например:
Шрифты переменной ширины усложняют задачу.
источник
Одна вещь, которую я продолжаю видеть здесь, - это обсуждение «выравнивания кода» и отступов. Хочу отметить следующее:
Итак, если собрать все это вместе, если вы начинаете каждую строку в одном и том же месте, а постоянный интервал имеет одинаковую ширину, а идентификаторы не меняют ширину спонтанно на каждой строке, тогда ваш код действительно будет выстраиваться в линию! ... пока что-то не изменится.
например:
Единственное, что я признаю, это то, что не буквенно-цифровые символы обычно не очень широкие; к ним относятся) (] [} {,: | "; ',`! и. Это, однако, можно исправить в редакторе шрифтов ... просто сделав их шире. Это не проблема, присущая немоноширинным шрифтам; там просто есть На него не было большого спроса, так что это еще не сделано.
Таким образом, личные предпочтения - это хорошо, но я думаю, что нет особых практических причин предпочитать моноширинный режим немоноширинному. Вам нравится, как это выглядит? Конечно, сделайте моноширинный. Хотите, чтобы на экране поместилось больше информации? Не моно. Но то, как люди относятся к немонопространству как к ереси, немного преувеличено.
источник
Мне стало любопытно в этой теме, потому что многие аргументы в пользу моноширинных шрифтов действительно можно легко опровергнуть с помощью некоторых настроек. Поэтому я переключил свою IDE на Calibri (потому что у нее красивое круглое лицо и она оптимизирована для удобочитаемости на экранах для пользовательского интерфейса - идеально). Теперь мне, очевидно, приходится использовать табуляцию вместо пробелов для отступов (игнорируя все проблемы), а ширины 4 пробелов явно недостаточно, поэтому я переключился на 10.
Теперь выглядит неплохо. Однако есть несколько очевидных проблем, которые я мог заметить. Больше может появиться позже, после того как я некоторое время протестирую эти настройки.
Символы не совпадают. В качестве примера рассмотрим следующий код C #:
Стрелка (
=>
) выглядит как единое целое в любом моноширинном шрифте. Это похоже на два соседних символа в других шрифтах. То же самое и с операторами вроде>>
т. Д.Контекстно-зависимые отступы полностью нарушены: в некоторых контекстах недостаточно отступа для фиксированного количества вкладок. Возьмите выражения LINQ, которые могут иметь следующий отступ:
Вы просто не можете этого сделать с пропорциональным шрифтом.
В общем, персонажи слишком узкие. Опять же, дополнительный межбуквенный интервал может помочь, и это определенно необходимо в случае пунктуации. Однако у меня такое чувство, что вся эта настройка, чтобы сделать пропорциональные шрифты более читабельными, просто имитировала бы естественные моноширинные шрифты. Это, безусловно, верно для всех упомянутых выше моментов.
источник
Я использую Comic Sans MS, который выглядит вполне разумно для небольших кеглей (это только начинает выглядеть "шуткой" при размере заголовков). Это легко для глаз, но при этом сохраняет текст достаточно мелким, чтобы в текстовом окне было видно разумное количество кода при открытых пристыкованных панелях VS.
Вы можете отключить панель обозревателя решений и по-прежнему иметь 100 столбцов текста, читаемых без горизонтальной прокрутки. Кроме того, я могу открыть панель DXCore Documentor (отображающую отформатированные XMLDOC) достаточно широко, чтобы ее можно было читать, но при этом я могу видеть достаточно текста для документирования XMLdocs.
источник
Если вы работаете в команде, то однотонные шрифты гарантируют, что код ясен и правильно разложен для всех, независимо от того, какой монотонный шрифт они предпочитают использовать.
Ваш код может выглядеть понятным при использовании шрифта переменной ширины, но вряд ли он будет выглядеть так же, если пользователь шрифта с одинарным интервалом откроет его.
источник
Все, что нужно, - это несколько часов попытаться выяснить, почему поиск не находит чего-то, потому что у вас есть 2 пробела вместо 1 в вашем литерале, чтобы понять, что вам следует использовать моноширинные шрифты. Это случилось со мной однажды, когда я пытался исправить агент Lotus Notes, когда дизайнер не использовал моноширинный шрифт. Только когда я вставил код в CodeWright, чтобы распечатать его, стало очевидно, в чем проблема.
источник
Моноширинные шрифты значительно упрощают выстраивание кода.
Это особенно актуально при работе в команде; каждый в команде может использовать разные шрифты, и пока все они моноширинные, все будет выровнено. Точно так же, если один человек использует много разных инструментов разработки, все выровняется, если все они моноширинные. Если бы не все они были моноширинными, вам нужно было бы убедиться, что все они используют один и тот же шрифт, а если вы разрабатываете на двух платформах, это может быть сложно.
Фактически, некоторые инструменты разработки поддерживают только моноширинные шрифты.
Другая причина заключается в том, что в моноширинных шрифтах характерны более четкие символы. Сравните lIiO0 с
lIiO0
, и вы поймете, что я имею в виду. Они также значительно упрощают подсчет пробелов.источник
Я подозреваю, что моноширинные шрифты были предпочтением программистов, поскольку они были перенесены со времен текстовой DOS.
С другой стороны, я сам пробовал Verdana и пару других рекомендуемых пропорциональных шрифтов, но не смог с этим справиться. Мой глаз слишком хорошо натренирован для моноширинного пространства. Языки, в которых много символов, например: C / C ++, C #, Perl и т. Д., Кажутся мне слишком разными. Размещение символов делает код совершенно другим.
источник
По характеру кода, а не обычного языка, лучше правильно выстроить его. Кроме того, при редактировании кода иногда требуется заблокировать выделение, заблокировать копирование и заблокировать вставку. В Visual Studio вы можете выбрать блок, используя клавишу ALT при выборе мыши. Он может отличаться в разных редакторах, но я всегда считал, что этот параметр в редакторе очень важен в некоторых случаях, и он не будет работать очень хорошо, если вы не используете шрифт с одним интервалом.
источник
Лично мне кажется, что монотонные шрифты легче читать в редакторах кода. Конечно, я почти слепой. Это может иметь значение. В настоящее время я использую шрифт consolas размером 15 пунктов на темном фоне с высококонтрастными буквами.
источник
Использование пробелов для отступов станет проблемой, если вы перейдете на глубину более одного уровня.
источник
В основном для целей выравнивания (например, когда объявления параметров функции охватывают несколько строк, и вы хотите выровнять их, или выровнять комментарии и т. Д.).
источник
Я думаю, что, как и в случае с символами табуляции, усложняющий фактор - это когда что-то имеет отступ для целей выравнивания, а у кого-то другие предпочтения. Вещи не совпадают.
источник