Почему программирование — это не написание кода
Программисты так любят свой код, что совсем забывают, для чего он нужен. Давайте-ка вспомним.
vlada_maestro / shutterstock
Люди, которые далеки от программирования, думают, что работа программистов заключается в написании кода. И хорош тот программист, который пишет больше кода за меньшее время. Мы можем их простить, потому что сами имеем ошибочное представление о работе других специалистов.
Беда в том, что мы, программисты, думаем о своей работе точно так же.
Давайте разберёмся, чем мы на самом деле должны заниматься и почему кода нужно писать как можно меньше.
Зачем нужны программисты
И код, и любые приложения на самом деле никому не нужны. Что действительно нужно людям — это решение их проблем.
Например, цель компании, которая владеет социальной сетью, — деньги. Чтобы получать больше денег, нужно привлечь больше пользователей. А для этого нужно, чтобы социальная сеть решала какие-то проблемы этих пользователей.
Ни один пользователь не заходит в приложение просто потому, что ему нравится, что оно существует.
Люблю этот набор единиц и нулей в моём вычислительном устройстве!
© Ни один пользователь в мире.
Пользователям не нужно это приложение, они хотят:
- скоротать время в длинной очереди;
- узнать новости;
- пообщаться с другом или родственником, который живёт в другом городе;
- отвлечься от бренности бытия на мемы с котиками.
Помогает ли код удовлетворить хоть одну из этих потребностей? Сам по себе — нет. Он лишь инструмент в руках программиста. Поэтому программист должен думать не о коде, а о том, как с его помощью решить конкретные проблемы.
Больше кода == больше проблем
Если не думать о конкретных задачах, то кода становится слишком много:
- появляются фичи, которые не решают никаких проблем;
- фичи, которые действительно нужны, работают не так, как это нужно пользователям;
- используется неподходящая архитектура и так далее.
Всё это мешает развивать проект, потому что чем больше кода, тем больше вероятность, что где-то появятся уязвимости и баги. В итоге получается приложение, которое не только не решает прежних проблем, но и создаёт новые.
И наоборот: нацеленность на решение проблем позволяет лучше продумать архитектуру и правильно расставить приоритеты в разработке. Так можно достичь большей эффективности с помощью меньшего объёма кода.
Отсюда следует простое правило:
Если код можно не писать, то его не нужно писать.
Сколько времени нужно писать код
Я считаю, что не стоит заниматься этим больше 4 часов в день. Оставшееся время лучше тратить на планирование архитектуры, изучение потребностей пользователей, ревью существующего кода, составление тестов и документации (этим лучше заниматься заранее).
В пример можно привести эту статью. Мне потребовалось всего полдня, чтобы написать её, но перед этим я несколько недель «варил» её в своей голове. То же самое и с программированием: лучшие решения появляются когда угодно, но не в процессе написания кода.
Конечно, чтобы прийти к этому, нужно овладеть хотя бы одной технологией — тогда вы поймёте, как писать небольшие, но эффективные приложения.