Я читал статью в Википедии о стиле программирования и заметил кое-что в аргументе против вертикально выровненного кода:
Опора на моноширинный шрифт; табличное форматирование предполагает, что редактор использует шрифт фиксированной ширины. Большинство современных редакторов кода поддерживают пропорциональные шрифты, и программист может предпочесть использовать пропорциональный шрифт для удобства чтения .
Если честно, я не думаю, что когда-либо встречал программиста, который предпочитал пропорциональный шрифт. Я также не могу придумать какие-либо действительно веские причины для их использования. Почему кто-то предпочитает пропорциональный шрифт?
ide
coding-style
fonts
Джейсон Бейкер
источник
источник
[citation needed]
:)Ответы:
Общие точки против пропорциональных шрифтов, комментируется.
Очки в пользу пропорциональных шрифтов
m
в одно и то же пространствоn
илиi
действительно затрудняет создание хорошего, удобочитаемого моноширинного шрифта .rnW
иIll
на этом скриншоте Proggy Clear пример неправильного расстояния между шрифтами.Лично я с удовольствием использую как шрифт Ubuntu, так и WenQuanYi Zen Hei Mono и не могу предпочесть одно другому. :)
Ubuntu 10 и WenQuanYi Zen Hei Mono 9, по сравнению. Здесь нет явного победителя, если вы спросите меня.
Тем не менее, шрифты, как еда. Кому-то они нравятся, округлые, другим - они острые и острые - правильного шрифта нет, или все мы будем использовать его прямо сейчас. Уя за выбор!
источник
Существует причина, которая делает практически невозможным использование для кодирования других шрифтов, кроме моноширинного, но не упоминалась в других ответах: прямоугольные выделения .
Эта функция, часто не очень полезная и не очень известная при работе с обычным текстом, необходима разработчикам. Вы можете представить себе множество сценариев: удаление
//
комментариев в несколько строк, добавление скобок или других символов и т. Д. Это еще более ценно с расширенной поддержкой прямоугольных выделений, как в Visual Studio 2010, где вы можете не только выделять и удалять текст, но выберите и замените его.Давайте возьмем пример:
В этом унаследованном коде я хочу заменить рейтинг в коде методом, который будет загружать мой рейтинг с самих сайтов Stack Exchange, чтобы всегда иметь актуальную информацию. Я начал проводить рефакторинг
MyReputation
свойства, и теперь я хочу удалить инициализацию в области видимости. Представьте, что у меня не четыре, а все 84 сайта SE.Вот что происходит при использовании Consolas , моноширинного шрифта. Я нажимаю Backspace, и все, я могу потратить оставшееся время, чтобы сделать что-то действительно полезное.
И здесь то же самое с Segoe UI . Ой!
источник
CTRL-D
SublimeText и VSCode,ALT-J
в редакторах IntelliJ / JetBrains. Далее,SHIFT-CTRL-RIGHT ARROW
чтобы расширить выбор до следующего токена справа, и все готово. Основным преимуществом является то, что никому не нужно выравнивать материал для редактирования. Недостатком, если вы что-то выровняли, больше не будет.Раньше я использовал пропорциональный шрифт, главным образом потому, что я считаю, что пунктуацию на самом деле легче дифференцировать, но со временем я отказался, потому что никто другой не делает этого, и все неосознанно принимают моноширинные шрифты (как упоминается в статье в Википедии, пытаясь сделать табличный форматирование, ascii art в комментариях и тд).
Кроме того, проблемы в Visual Studio , которые Microsoft не хочет исправлять, в основном делают невозможным использование правильно разработанных пропорциональных шрифтов.
источник
Лично мне все равно. Пока вы держите мои вкладки выровненными и разборчивым шрифтом, мне было все равно, использую ли я моноширинный, пропорциональный или какой-либо другой интервал за пределами стены. Только не начинайте заменять мои вкладки пробелами, и вы не будете ссориться со мной.
источник
Я использую пропорциональный шрифт (Arial - лучшее, что я нашел на данный момент, Вердана - второе место), и, честно говоря, я все еще удивлен, что люди используют шрифты фиксированной ширины; почему вы хотите пожертвовать удобочитаемостью? Я мог бы понять, желательно ли табличное форматирование, но это не так, поскольку он создает кошмар обслуживания независимо от шрифта.
источник
Я помню, что в книге Бьярна Страуструпа « Язык программирования C ++» для кода использовались пропотентно расположенные шрифты. (Я не могу найти образцы страниц в Интернете)
Я не помню точных причин, но думаю, что он упомянул это и одно другое изменение (я думаю, что сам язык C ++) как новое введение в эту книгу.
Лично я предпочитаю фиксированные космические. Консолас мой любимый.
источник
Для языков, которые имеют короткие строки и много открытого пространства, я предпочитаю моноширинные шрифты. Я считаю, что шрифты переменной ширины могут улучшить читаемость, когда у вас длинные строки и плотный синтаксис.
Проблема с большинством пропорциональных шрифтов заключается в том, что они не были предназначены для программирования. На этой странице показаны некоторые шрифты, которые были.
источник
В средах Smalltalk, таких как Pharo, используются пропорциональные шрифты, и благодаря стилю языка они там выглядят очень хорошо. Но в языках стиля C, таких как Go или в других, таких как Erlang или Python, я предпочитаю моноширинные шрифты.
источник
Некоторое время назад я потратил некоторое время на поиск хорошего, удобочитаемого шрифта для Eclipse, и под XP я довольно долго использовал Verdana. Консолас решил это, потому что это действительно превосходно для программирования.
Вот мои выводы:
Следовательно, я обнаружил, что это не стоило мне проблем.
Примечание по выравниванию и другим макетам: я настроил Eclipse на автоматическое форматирование каждого файла при каждом сохранении, поэтому все модные макеты автоматически сбрасываются. Eclipse использует вкладки вместо нескольких пробелов, и их можно правильно расположить даже с помощью пропорциональных шрифтов. Следовательно, макеты форматирования могут накладываться друг на друга, но мы используем стандартную конфигурацию форматирования, которая не имеет этого.
Я считаю, что применение автоматического форматирования для каждого при каждом сохранении сводит к минимуму ложные срабатывания в системе контроля версий при проведении судебного анализа.
источник
Никогда, никогда, потому что моноширинные шрифты позволяют мне сравнивать различные атрибуты.
Для сравнения:
name1 = ["Уильям", "Шекспир", 1564, "Peotry"]
name2 = ["Джон", "Локк", 1632, "Философия"]
name3 = ["Джонатан", "Литтелл", 1967, "Проза"]
Для того, чтобы:
Пропорциональные шрифты просто не могут размещать эквивалентные атрибуты ровно один над другим.
источник
Хотя я чувствую, что пропорциональные шрифты красивее, в некоторых из них, особенно шрифтах без засечек, невозможно увидеть разницу между «я» и «я». Подождите, как я снова назвал эту переменную?
источник
'' vs "