80 символов больше не ограничение для кода ядра Linux
2Иллюстрация с сайта Unsplash.Com
Линус Торвальдс объявил, что современное оборудование и экраны уже давно перешагнули ограничения устаревших терминалов 80х25, а его главный терминал вмещает 142×76 символов. Рекомендуемая (но необязательная) длина строки теперь 100 символов — но можно и больше, если есть необходимость. Скрипт проверки новых патчей ядра теперь не отклоняет код, в котором строки длиннее 80 колонок.
Ответ Линуса Торвальдса на письмо Дэвида Лайта с lkml.org
широкий монитор предназначен для просмотра большого количества файлов.
Не обязательно.
Частые разрывы линий — это плохо. Они вызывают реальные ежедневные проблемы.
Например, проблемы для команд типа «grep» — как в структуре, так и в
выходных данных, потому что grep (и многие другие элементарные утилиты unix) в основном построчные.
Многие из нас уже давно не следуют модели «80-колоночного терминала» по той же причине, по которой в наших терминалах помещается гораздо больше двадцати пяти строк.
Честно говоря, я не хочу видеть патчи, код которых мне — да и большинству других людей — трудно читать только потому, что у некоторых странных ребят до сих пор маленькие окна терминала.
Если у тебя или Кристофа всего 80 символьных строк, вы, возможно, увидите уродливый выход. Грубо, конечно. Но это только ваш выбор. И ваши аппаратные ограничения не должны быть болью для всех остальных.
Более длинные строки очевидно полезны. Например, у моего монитора соотношение ширины и высоты гораздо больше, чем на старых мониторах, при этом соотношение ширины и высоты шрифтов — гораздо меньше. Так что длинные строки вполне естественны.
Когда я разворачиваю окна терминала на дисплее плиткой, и у меня помещается 6 терминалов одновременно — в три колонки. Но даже так я могу открыть сбоку еще один терминал, который будет всего на 20% уже остальных.
И знаешь что? Размер окна моих терминалов по умолчанию 100×50, а не 80×25 (посмотрите настройки терминала gnome, вы увидите, что 80×25 — это всего лишь значение по умолчанию, его можно изменить). И я пользуюсь не пиксельными шрифтами, а шрифтами со сглаживанием.
Но по факту большинство моих терминалов шире и выше. Я проверил — мой основной терминал 142×76 символов, потому что — вот так открытие — более широкие (и высокие) терминалы удобны не только для чтения исходного кода.
Вы давно смотрели на вывод «ps ax»? Или использовали «top»? Выполняли «git diff-stat» или любые команды, где размер 80×25 сильно ограничивает и на деле уже давно не имеет отношения к большинству из нас.
Так что — да, я не забочусь о том, чтобы кто-то с окном терминала 80×25
получал красивые строки.
По той же самой причине я считаю совершенно неуместным, когда кто-то жалуется, что ядро у них компилируется 10 часов, потому что они разрабатывают ядро на Raspberry PI с 4 ГБ оперативной памяти.
Люди с ограниченными ресурсами не должны делать всю систему неудобной для тех, у кого оборудование лучше. Да, мы будем приспосабливаться к ним — но в разумных пределах. Но как я вижу, 80-колоночные терминалы в 2020 году уже не являются «разумными пределами». Даже в 80-х годах разработчики вовсю использовали 132-колоночные терминалы, так что ради Бога, не надо устанавливать 80 колонок в качестве какого-то нерушимого стандарта.
Если вы решили использовать терминал с 80 колонками, то живите с переносом строки. Все очень просто.
И, кстати, более длинные линии просто практичны. Частично — потому что мы уже не программисты из 80-х, и наш исходный код неизбежно длиннее.
Да, локальные переменные итерации все еще называют «i», потому что этого достаточно для какого-нибудь анонимного счетчика. Быть кратким — это хорошо, и слишком длинные имена — это так же плохо.
Но все-таки вполне разумно делать имена переменных из 10-15 символов. Так код легче читается. Лучше нормально назвать переменную, чем использовать бесконечные сокращения и т.п.
И да, мы используем широкие вкладки, потому что так проще делать отступы и понимать структуру кода с первого взгляда, видя целые функции, а пытаться визуально «выстроить» код в один ряд или сосчитать пробелы.
В общем, у нас довольно много веских аргументов в пользу длинных строк.
И да, мы, конечно, делаем разрывы строк. Но нет никаких оснований разрывать их именно на 80 символах.
Постоянная ссылка к новости: http://www.nixp.ru/news/14288.html. Timur Tukaev по материалам phoronix.com, lkml.org, git.kernel.org.
Линус Торвальдс: «Мы на полпути от Linux 4.0 к 5.0» 3 6
Линус Торвальдс объявил голосование за номер для следующего релиза ядра Linux: 3.20 или 4.0 2 3
Поддержка шины EISA останется в ядре Linux ещё некоторое время 2 3
1 августа на edX начинается бесплатный вводный курс в Linux 5 8
Linux Foundation обновила статистику по изменению кода ядра Linux 4
Линус Торвальдс: К 20-летию Linux выйдет ядро версии 3.0 5 7
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1