{"id":14284,"url":"\/distributions\/14284\/click?bit=1&hash=82a231c769d1e10ea56c30ae286f090fbb4a445600cfa9e05037db7a74b1dda9","title":"\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0444\u0438\u043d\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u0442\u0430\u043d\u0446\u044b \u0441 \u0441\u043e\u0431\u0430\u043a\u0430\u043c\u0438","buttonText":"","imageUuid":""}

Разработчик отказался от дополнительного монитора и перешёл на ноутбук — почему он всем советует сделать так же Статьи редакции

По словам инженера-программиста Дмитро Хайнаса, функцию кода зачастую можно понять по нескольким строкам. А постоянное «переключение» между мониторами или десятками строк на одном большом экране снижает концентрацию.

Инженер-программист Дмитро Хайнас уже год работает с ноутбука и не пользуется дополнительным монитором. В 2021 году он «нисколько об этом не жалеет», хотя в прошлом, как и многие коллеги, считал, что наличие монитора повышает производительность.

Разработчики нередко выкладывают фотографии, на которых не один, не два, а целых три монитора. Да, у этого есть свои преимущества, но объём выполненной работы не зависит от числа экранов. Особенно если ты программист.

Дмитро Хайнас, инженер-программист

По словам автора, производительность в таком случае, наоборот, снижается. Чем выше число мониторов или шире экран, тем больше информации разработчик видит. Сама по себе идея хороша, но в среднем человек может удерживать в кратковременной памяти лишь от трёх до семи элементов.

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

В качестве примера Хайнас приводит фрагмент исходного кода контейнера Apache Tomcat. В нём есть около пяти элементов, и по ним, пишет инженер, легко понять, что именно «делает» код.

Фрагмент исходного кода Apache Tomcat

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

  • Простым — чтобы разработчик сразу понял, какую задачу тот выполняет, и мог с лёгкостью его изменить.
  • Логичным, последовательным и линейным.
  • Если возможно, кратким — без повторений, мудрёных решений и бесполезных элементов.
Фрагмент исходного кода Apache Tomcat на большом экране

Хайнас согласен, что некоторые задачи удобнее решать с широким монитором или несколькими экранами сразу: например, изучать системные лог-файлы или визуализированную статистику, открыть на одном мониторе интерфейс проекта, а на другом — код. Но из-за этого страдает продуктивность, пишет инженер и приводит ещё три недостатка:

  1. Разработчик вынужден часто переключать внимание с кода на системные записи, документы, страницы, графики. Из-за этого снижается концентрация, а сам он впустую тратит «умственную энергию». Чтобы каждый раз перестраиваться, мозгу требуется минимум несколько секунд.
  2. Дополнительные мониторы и устройства, в отличие от одного ноутбука, загромождают рабочее пространство.
  3. Инженер оказывается под большим воздействием синего света. Последний, по словам Хайнаса, плохо влияет на сон — это актуально для тех разработчиков, что работают поздним вечером.

Привыкнуть к небольшому дисплею можно, но метод всё равно подойдёт не всем

Сам Хайнас перешёл на MacBook с диагональю 15 дюймов и уже не может вернуться к мониторам. Именно на нём он работает с кодом, нередко переключаясь на 11-дюймовый iPad. Основное преимущество такой работы — мобильность, считает он. Работает программист откуда угодно: из дома, арендованного офиса, коворкинга, парка, машины, кафе или вообще с пляжа.

Привыкнуть, считает инженер, можно к дисплею любого размера.

Впрочем, Хайнас признаёт: если программист хорошо справляется с многозадачностью и не теряет продуктивности, даже глядя на десятки строк кода с нескольких экранов одновременно, то отказываться от мониторов нет смысла. Среди других аргументов в пользу мониторов он также выделяет:

  • Отсутствие ноутбука и наличие у разработчика только системного блока или настольной системы вроде Mac Mini.
  • Проблемы со зрением — на большом экране проще настроить определённое разрешение и установить более крупный шрифт.
  • Игры и просмотр фильмов.
0
213 комментариев
Написать комментарий...
Миша Магадан

я, конечно, тот еще программер, но мне казалось, что два монитора удобно, если на одном код, а на другом - приложение, сайт или что там этим кодом делается (если есть на что смотреть, конечно)

Ответить
Развернуть ветку
Арсений

Если адаптивность пилить - то надо большой моник, обычный, айпад, пара айфонов (с se), андроид

Ответить
Развернуть ветку
Ияза Гара

Браузер типа Хрома все это умеет из коробки. На кой держать кучу лишних устройств?

Ответить
Развернуть ветку
Арсений

Ну попробуйте протестировать в хроме, например, подъем/опускание ios нижнего бара в сафари.
Физические устройства нужны, так как в хроме выглядит не совсем так

Ответить
Развернуть ветку
Ияза Гара

Был бы смысл сего действа. Я знаю высоту окна с нижним баром и без него, знаю поведение браузера и изменение viewport при подобных действиях пользователя, у меня на компе есть Safari для проверки. 
Просмотр страничек на физическом телефоне - только для самоуспокоения. 

Ответить
Развернуть ветку
Арсений

Ну, если вы знаете специфику всех устройств - тогда может быть и не нужно.

Мой опыт говорит о том, что тестировать надо на конкретных устройствах, везде разное вылезает

Ответить
Развернуть ветку
Пуганный Аноним

Тестировать, конечно, надо. Но нужно ли тестировать на всех устройствах после каждого изменения? Мне достаточно в конце дня глянуть как оно там в разных браузерах и устройствах. В 99.8% все нормально. А из-за 0.2% сидеть и мониторить - глупо. 

Ответить
Развернуть ветку
210 комментариев
Раскрывать всегда