Разработчик отказался от дополнительного монитора и перешёл на ноутбук — почему он всем советует сделать так же Статьи редакции
По словам инженера-программиста Дмитро Хайнаса, функцию кода зачастую можно понять по нескольким строкам. А постоянное «переключение» между мониторами или десятками строк на одном большом экране снижает концентрацию.
Инженер-программист Дмитро Хайнас уже год работает с ноутбука и не пользуется дополнительным монитором. В 2021 году он «нисколько об этом не жалеет», хотя в прошлом, как и многие коллеги, считал, что наличие монитора повышает производительность.
По словам автора, производительность в таком случае, наоборот, снижается. Чем выше число мониторов или шире экран, тем больше информации разработчик видит. Сама по себе идея хороша, но в среднем человек может удерживать в кратковременной памяти лишь от трёх до семи элементов.
Каждая переменная, условие, цикл, оператор и команда — это отдельный элемент, а всего один метод может содержать сразу множество утверждений. Поэтому чем меньше данных программист видит на экране, тем меньше держит в уме и тем проще ему сосредоточиться.
В качестве примера Хайнас приводит фрагмент исходного кода контейнера Apache Tomcat. В нём есть около пяти элементов, и по ним, пишет инженер, легко понять, что именно «делает» код.
Но задача усложняется, если раскрыть тот же самый фрагмент на большом мониторе. Наличие нескольких десятков строк снижает читабельность и противоречит принципам «чистого кода» Роберта Мартина. Согласно им, он должен быть:
- Простым — чтобы разработчик сразу понял, какую задачу тот выполняет, и мог с лёгкостью его изменить.
- Логичным, последовательным и линейным.
- Если возможно, кратким — без повторений, мудрёных решений и бесполезных элементов.
Хайнас согласен, что некоторые задачи удобнее решать с широким монитором или несколькими экранами сразу: например, изучать системные лог-файлы или визуализированную статистику, открыть на одном мониторе интерфейс проекта, а на другом — код. Но из-за этого страдает продуктивность, пишет инженер и приводит ещё три недостатка:
- Разработчик вынужден часто переключать внимание с кода на системные записи, документы, страницы, графики. Из-за этого снижается концентрация, а сам он впустую тратит «умственную энергию». Чтобы каждый раз перестраиваться, мозгу требуется минимум несколько секунд.
- Дополнительные мониторы и устройства, в отличие от одного ноутбука, загромождают рабочее пространство.
- Инженер оказывается под большим воздействием синего света. Последний, по словам Хайнаса, плохо влияет на сон — это актуально для тех разработчиков, что работают поздним вечером.
Привыкнуть к небольшому дисплею можно, но метод всё равно подойдёт не всем
Сам Хайнас перешёл на MacBook с диагональю 15 дюймов и уже не может вернуться к мониторам. Именно на нём он работает с кодом, нередко переключаясь на 11-дюймовый iPad. Основное преимущество такой работы — мобильность, считает он. Работает программист откуда угодно: из дома, арендованного офиса, коворкинга, парка, машины, кафе или вообще с пляжа.
Впрочем, Хайнас признаёт: если программист хорошо справляется с многозадачностью и не теряет продуктивности, даже глядя на десятки строк кода с нескольких экранов одновременно, то отказываться от мониторов нет смысла. Среди других аргументов в пользу мониторов он также выделяет:
- Отсутствие ноутбука и наличие у разработчика только системного блока или настольной системы вроде Mac Mini.
- Проблемы со зрением — на большом экране проще настроить определённое разрешение и установить более крупный шрифт.
- Игры и просмотр фильмов.
я, конечно, тот еще программер, но мне казалось, что два монитора удобно, если на одном код, а на другом - приложение, сайт или что там этим кодом делается (если есть на что смотреть, конечно)
Если адаптивность пилить - то надо большой моник, обычный, айпад, пара айфонов (с se), андроид
Браузер типа Хрома все это умеет из коробки. На кой держать кучу лишних устройств?
Ну попробуйте протестировать в хроме, например, подъем/опускание ios нижнего бара в сафари.
Физические устройства нужны, так как в хроме выглядит не совсем так
Был бы смысл сего действа. Я знаю высоту окна с нижним баром и без него, знаю поведение браузера и изменение viewport при подобных действиях пользователя, у меня на компе есть Safari для проверки.
Просмотр страничек на физическом телефоне - только для самоуспокоения.
Ну, если вы знаете специфику всех устройств - тогда может быть и не нужно.
Мой опыт говорит о том, что тестировать надо на конкретных устройствах, везде разное вылезает
Тестировать, конечно, надо. Но нужно ли тестировать на всех устройствах после каждого изменения? Мне достаточно в конце дня глянуть как оно там в разных браузерах и устройствах. В 99.8% все нормально. А из-за 0.2% сидеть и мониторить - глупо.