Создатель Linux высказался за увеличение длины строк кода

05.06.2020     

Линус Торвальдс заявил, что пора пересмотреть правила хорошего тона в плане написания кода. Золотым стандартом для кода ядра Linux считаются 80-символьные строки. Но Торвальдс предлагает увеличить значение до 100 символов.

Времена меняются

В старых терминалах, которые использовались для написания и отладки кода ядра Linux, часто были установлены ограничения 80х25: 80 символов в строке, 25 строк в окне. Современные терминалы вмещают гораздо больше символов, да и разрешение мониторов постоянно растет. 

Все это сподвигло Торвальдса внести изменения в скрипт проверки новых патчей ядра. Он перестал отклонять код со строками длиннее 80 символов.

Торвальдс подчеркнул: оптимальная длина строки сейчас – 100 символов. Но она может быть и больше, если в этом действительно есть необходимость. Разработчик также добавил, что широкие мониторы специально предназначены для просмотра большого количества файлов одновременно.

О пользе длинных строк

Торвальдс подчеркнул: если продолжать переносить строки, стремясь к соблюдению  «золотого» 80-символьного стандарта, будет очень тяжело работать с кодом и с командами Linux. И вообще: длинные строки кода – не всегда зло. Гораздо хуже частые разрывы таких строк – именно они ежедневно вызывают проблемы. К примеру, если в Linux вы используете команду grep для поиска внутри файлов, то результат ее работы может сбить вас с толку. Очень сложно будет разобраться в обрывках строк кода, которые появляются из-за многочисленных переносов. 

У самого создателя Linux терминалы настроены на показ 100 символов в строке и 50 строк в окне. Параметры основного терминала – 142х76. На мониторе помещается шесть терминалов в три колонки и остается место еще для одного терминала, который на 20% уже остальных. Это обеспечивает возможность комфортной работы с большими массивами кода. 

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

Разработчик подчеркнул: люди с ограниченными ресурсами не должны делать всю систему неудобной. И это касается не только размеров окна терминала: так, не стоит жаловаться, что ядро компилируется 10 часов, если вы разрабатываете его на Raspberry PI с 4 ГБ оперативной памяти.

Имена имеют значение

В своем письме Торвальдс коснулся и других вопросов разработки, в частности, имен переменных. По его словам, если вы используете какую-нибудь переменную i в качестве анонимного счетчика внутри цикла, это нормально. Но не стоит ставить краткость во главу угла, выбирая имена для всех переменных.

Торвальдс считает, что называть переменные именами в пределах 10-15 символов совершенно нормально. Нужно, чтобы имя было понятным. Использовать бесконечные сокращения и заставлять коллег догадываться, что вы имели в виду – сомнительный путь.


Автор:
Ксения Шестакова Обозреватель


Комментарии
В избранное Подписаться на ответы Сортировка: Рейтинг 1-го уровня
9. PerlAmutor 106 06.06.20 06:27 Сейчас в теме
А вообще заголовок провокационный получился на главной странице =)
Прикрепленные файлы:
Somebody1; Bassgood; user774630; DoctorRoza; ab_initio; Serega-artem; maksa2005; starik-2005; awk; TreeDogNight; ipoloskov; Senator_I; +12 Ответить 1
1. Bassgood 1042 05.06.20 17:02 Сейчас в теме
Торвальдс считает, что называть переменные именами в пределах 10-15 символов совершенно нормально. Нужно, чтобы имя было понятным.

Интересно а как Торвальдс отнесся бы к вот такому имени объекта "DataCompositionResultSpreadsheetDocumentOutputProcessor"? ;)
Drivingblind; portwein; TreeDogNight; maksa2005; wowik; rusmil; +6 Ответить 2
3. nvv1970 05.06.20 20:25 Сейчас в теме
7. DitriX 1814 06.06.20 00:05 Сейчас в теме
все зависит от окружения, если у вас все разрабы сидят за ноутами, то да 100-120 норм, у нас все сидят за большими мониторами и мы ставим лимит в 150, и все отлично, главное чтобы удобно было работать всем участникам процесса. ИМХО
15. portwein 08.06.20 07:12 Сейчас в теме
(13)
Что-то мне кажется, что на яве вы не пишете

Получается что и создатели Spring-а на Java не пишут - там если имя класса меньше 20 символов, то "можно условно считать это браком")
Оставьте свое сообщение

См. также

Число загрузок мобильных приложений обновило рекорд

Новость Аналитика ИТ-новость Мобильные приложения

Пользователи стали устанавливать больше мобильных приложений, а количество загрузок достигло рекорда. Кроме того, увеличилось и время использования приложений, выяснили аналитики агентства App Annie.

вчера в 14:11    134    user1015646    0       

Роспечать предложила создать сервисы для поиска фейков и анализа контента

Новость Искусственный интеллект ИТ-новость Новости компаний

Роспечать предложила использовать искусственный интеллект для распознавания поддельных новостей. Каким образом нейросеть будет определять дипфейки, эксперты не знают.

вчера в 11:30    139    VKuser24342747    2       

Microsoft заблокировала возможность деинсталляции Edge из Windows 10

Новость Windows Интернет ИТ-новость Новости компаний

Microsoft официально подтвердила, что пользователи не смогут деинсталлировать новый браузер Edge после обновления Windows 10.

13.08.2020    384    SKravchenko    0       

Создан новый язык программирования Armada для работы с параллельными вычислениями

Новость ИТ-новость Языки программирования

Группа исследователей опубликовала новый язык программирования Armada. Язык предназначен для формальной проверки высокопроизводительных параллельных программ.

12.08.2020    1044    SKravchenko    8       

Энтузиаст запустил в Minecraft компьютер на Windows 95

Новость ОС Windows Видеоигры ИТ-новость

Разработчик delta2force представил мод VM Computers для популярной игры-песочницы Minecraft. Он позволяет добавить в игру виртуальный компьютер и запустить на нем Windows 95.

12.08.2020    484    user1015646    2       

Выпущен ПК весом 83 грамма с поддержкой нескольких десктопных ОС

Новость Гаджеты ИТ-новость Микроэлектроника

Компания XCY выпустила миниатюрный компьютер Mini PC Stick, по размеру напоминающий флешку, помещающуюся в ладони. В качестве ОС на него можно установить Windows 10 или Linux.

11.08.2020    853    user-programmist    10       

Сбербанк создаст криптовалюту, привязанную к рублю

Новость Банки Блокчейн ИТ-новость Новости компаний

Сбербанк выпустит собственную криптовалюту Sbercoin – стейблкоин, курс которого будет привязан к рублю. Он упростит внутренние транзакции и не противоречит закону о цифровых финансовых активах (ЦФА).

11.08.2020    546    user1015646    7       

Windows 10 сможет запускать приложения с Android-смартфонов

Новость Windows Android Infostart Software Partners Маркет Новости компаний

5 августа 2020 года Microsoft объявила о новшествах, которые появятся в Insider Preview Build 20185. Одной из самых интересных функций стало дальнейшее развитие службы «Ваш телефон».

07.08.2020    877    capitan    4       

Программист из Slack превратил MacOS 8 в кроссплатформенное приложение

Новость ОС Mac OS ИТ-новость

Разработчик создал приложение, позволяющее запустить MacOS 8 на современных компьютерах как обычное приложение. Для этого не понадобится даже предварительно устанавливать эмулятор.

06.08.2020    726    VKuser24342747    0       

МТС получил первую в России лицензию на развитие сети 5G

Новость ИТ-новость Новости компаний Телекоммуникации

Роскомнадзор предоставил МТС лицензию на строительство сети 5G по всей территории России — в 83 из 85 субъектов. Срок действия лицензии - до лета 2025 года. Для развития сети были выданы частоты от 24,25 до 24,65 ГГц.

05.08.2020    731    user-programmist    1       

Работа с большими данными во всем мире должна регулироваться профстандартом

Новость Искусственный интеллект ИТ-новость

Британское компьютерное общество (BCS) вместе с Королевским статистическим обществом (RSS) и Королевской инженерной академией (RAEng) начали работу по созданию профстандартов в отрасли больших данных (BigData).

05.08.2020    610    SKravchenko    3       

GitHub представил дорожную карту развития сервиса

Новость GitHub ИТ-новость

GitHub будет лучше знакомить разработчиков с грядущими обновлениями сервиса при помощи публичных дорожных карт. Пользователи смогут влиять на выполнение запланированных улучшений и помогать им продвигаться вперед по карте.

05.08.2020    617    VKuser24342747    0       

IEEE опубликовал свежий рейтинг языков программирования

Новость ИТ-новость Языки программирования

Институт инженеров электротехники и электроники IEEE Spectrum недавно опубликовал свой рейтинг языков программирования за 2020 год. Как и в последние несколько лет Python снова лидирует, но есть и несколько сюрпризов.

04.08.2020    851    SKravchenko    1       

Facebook запускает конкурента Zoom

Новость ИТ-новость Мессенджеры Новости компаний

23 июля Facebook объявил, что расширяет возможности Messenger Rooms и Facebook Live, – теперь пользователи могут организовывать онлайн-совещания с участием до 50 человек.

03.08.2020    661    SKravchenko    0       

Виртуальные фанаты заполнят пустые стадионы

Новость Искусственный интеллект ИТ-новость Телекоммуникации

Из-за пандемии COVID-19 сто двадцатый сезон в истории главной лиги бейсбола США пройдет с пустыми стадионами. Но Fox Sports для своих трансляций будет заполнять трибуны виртуальными фанатами с цифровой визуализацией.

31.07.2020    710    SKravchenko    2       

Начался выпуск российских материнских плат для ARM-процессоров «Байкал»

Новость Импортозамещение ИТ-новость Микроэлектроника

Первую российскую материнскую плату для нового ARM-процессора Baikal-M представили компании «Байкал электроникс», «Эдельвейс» и «Базальт СПО». Ориентировочная стоимость платы – 50 тыс. рублей.

30.07.2020    821    user1015646    3       

Банки оценили переход на отечественное ПО в сотни миллиардов рублей

Новость Банки ИТ-новость Цифровая экономика

Российские банки пересчитали планируемые расходы на внедрение отечественных программ. Затраты финансовых учреждений могут составить до 150 млрд рублей.

30.07.2020    600    VKuser24342747    0       

Молодые сотрудники используют больше разных приложений для работы

Новость Автоматизация Аналитика ИТ-новость

Исследование, проведенное консалтинговой фирмой Creative Strategies по изучению сотрудничества, показало значительные различия в стиле и подходе к работе у разных возрастных групп.

29.07.2020    890    SKravchenko    0       

Microsoft представила утилиту для мониторинга процессов в Linux

Новость Linux ИТ-новость Новости компаний

Компания Microsoft выпустила утилиту ProcMon (Process Monitor) для Linux. Программное обеспечение распространяется под открытой лицензией MIT. Ранее ProcMon была доступна только для Windows.

29.07.2020    782    user1015646    2       

Google сделает Android Go обязательной на устройствах с ОЗУ меньше 2 ГБ

Новость Google ИТ-новость Мобильные приложения

С октября 2020 года на все новые Android-устройства, имеющие объем ОЗУ 2 ГБ и менее, Google заставит устанавливать Android Go – модифицированную версию Android для устройств начального уровня.

28.07.2020    1678    SKravchenko    0       

Google Cloud представил новые средства безопасности

Новость Google Безопасность ИТ-новость

Облачная платформа Google Cloud разработала новые инструменты для обеспечения безопасности. Они ориентированы на крупные коммерческие компании, банки и государственные учреждения.

28.07.2020    756    user1015646    0       

ПК на Windows могут перейти на ARM-процессоры

Новость Windows Mac OS ИТ-новость Микроэлектроника

22 июня Apple объявила о переходе Mac на процессоры собственного производства на базе архитектуры ARM. Первые системы появятся к концу года, начав двухлетний переходный период.

24.07.2020    1939    SKravchenko    1       

Разработчики GitHub представили GCM Core – инструмент универсальной аутентификации для Git-серверов

Новость GitHub ИТ-новость

Git Credential Manager Core – это кроссплатформенный инструмент, который может стать альтернативой традиционной HTTPS- или SSH-аутентификации для Git-серверов. Планируется, что в будущем он заменит существующие утилиты аутентификации для Windows, macOS и Linux.

24.07.2020    1190    user1015646    1       

Google выпустила большое обновление Chrome

Новость Google Безопасность Интернет Интерфейсы ИТ-новость

14 июля Google выпустила стабильную версию браузера Chrome 84 Desktop для Windows, Mac и Linux. Новый Chrome получил поддержку Web OTP API, ярлыки PWA и умеет блокировать навязчивые уведомления.

23.07.2020    1808    SKravchenko    0       

GitHub разместил пленочный архив открытого кода в арктическом хранилище

Новость GitHub ИТ-новость

GitHub завершил масштабный перенос архива открытого исходного кода в хранилище Arctic World Archive. Данные будут храниться в виде фотоснимков на пленочных накопителях.

22.07.2020    1205    VKuser24342747    2