0 added
0 removed
Original
2026-01-01
Modified
2026-02-21
1
<p><a>#статьи</a></p>
1
<p><a>#статьи</a></p>
2
<ul><li>11 май 2020</li>
2
<ul><li>11 май 2020</li>
3
<li>0</li>
3
<li>0</li>
4
</ul><h2>Почему программирование - это не написание кода</h2>
4
</ul><h2>Почему программирование - это не написание кода</h2>
5
<p>Программисты так любят свой код, что совсем забывают, для чего он нужен. Давайте-ка вспомним.</p>
5
<p>Программисты так любят свой код, что совсем забывают, для чего он нужен. Давайте-ка вспомним.</p>
6
<p> vlada_maestro / shutterstock</p>
6
<p> vlada_maestro / shutterstock</p>
7
<p>Пишет о программировании, в свободное время создаёт игры. Мечтает открыть свою студию и выпускать ламповые RPG.</p>
7
<p>Пишет о программировании, в свободное время создаёт игры. Мечтает открыть свою студию и выпускать ламповые RPG.</p>
8
<p>Люди, которые далеки от программирования, думают, что работа программистов заключается в написании кода. И хорош тот программист, который пишет больше кода за меньшее время. Мы можем их простить, потому что сами имеем ошибочное представление о работе других специалистов.</p>
8
<p>Люди, которые далеки от программирования, думают, что работа программистов заключается в написании кода. И хорош тот программист, который пишет больше кода за меньшее время. Мы можем их простить, потому что сами имеем ошибочное представление о работе других специалистов.</p>
9
<p>Беда в том, что мы, программисты, думаем о своей работе точно так же.</p>
9
<p>Беда в том, что мы, программисты, думаем о своей работе точно так же.</p>
10
<p>Давайте разберёмся, чем мы <em>на самом деле</em>должны заниматься и <em>почему кода нужно писать как можно меньше</em>.</p>
10
<p>Давайте разберёмся, чем мы <em>на самом деле</em>должны заниматься и <em>почему кода нужно писать как можно меньше</em>.</p>
11
<p>И код, и любые приложения на самом деле никому не нужны. Что действительно нужно людям - это решение их проблем.</p>
11
<p>И код, и любые приложения на самом деле никому не нужны. Что действительно нужно людям - это решение их проблем.</p>
12
<p>Например, цель компании, которая владеет социальной сетью, - деньги. Чтобы получать больше денег, нужно привлечь больше пользователей. А для этого нужно, чтобы социальная сеть решала какие-то проблемы этих пользователей.</p>
12
<p>Например, цель компании, которая владеет социальной сетью, - деньги. Чтобы получать больше денег, нужно привлечь больше пользователей. А для этого нужно, чтобы социальная сеть решала какие-то проблемы этих пользователей.</p>
13
<p>Ни один пользователь не заходит в приложение просто потому, что ему нравится, что оно существует.</p>
13
<p>Ни один пользователь не заходит в приложение просто потому, что ему нравится, что оно существует.</p>
14
<p><em><strong>Люблю этот набор единиц и нулей в моём вычислительном устройстве!</strong></em></p>
14
<p><em><strong>Люблю этот набор единиц и нулей в моём вычислительном устройстве!</strong></em></p>
15
<p><em>© Ни один пользователь в мире.</em></p>
15
<p><em>© Ни один пользователь в мире.</em></p>
16
<p>Пользователям не нужно это приложение, они хотят:</p>
16
<p>Пользователям не нужно это приложение, они хотят:</p>
17
<ul><li>скоротать время в длинной очереди;</li>
17
<ul><li>скоротать время в длинной очереди;</li>
18
<li>узнать новости;</li>
18
<li>узнать новости;</li>
19
<li>пообщаться с другом или родственником, который живёт в другом городе;</li>
19
<li>пообщаться с другом или родственником, который живёт в другом городе;</li>
20
<li>отвлечься от бренности бытия на мемы с котиками.</li>
20
<li>отвлечься от бренности бытия на мемы с котиками.</li>
21
</ul><p>Помогает ли код удовлетворить хоть одну из этих потребностей? Сам по себе - нет. Он лишь инструмент в руках программиста. Поэтому программист должен думать не о коде, а о том, как с его помощью решить конкретные проблемы.</p>
21
</ul><p>Помогает ли код удовлетворить хоть одну из этих потребностей? Сам по себе - нет. Он лишь инструмент в руках программиста. Поэтому программист должен думать не о коде, а о том, как с его помощью решить конкретные проблемы.</p>
22
<p>Если не думать о конкретных задачах, то кода становится слишком много:</p>
22
<p>Если не думать о конкретных задачах, то кода становится слишком много:</p>
23
<ul><li>появляются фичи, которые не решают никаких проблем;</li>
23
<ul><li>появляются фичи, которые не решают никаких проблем;</li>
24
<li>фичи, которые действительно нужны, работают не так, как это нужно пользователям;</li>
24
<li>фичи, которые действительно нужны, работают не так, как это нужно пользователям;</li>
25
<li>используется неподходящая архитектура и так далее.</li>
25
<li>используется неподходящая архитектура и так далее.</li>
26
</ul><p>Всё это мешает развивать проект, потому что чем больше кода, тем больше вероятность, что где-то появятся уязвимости и баги. В итоге получается приложение, которое не только не решает прежних проблем, но и создаёт новые.</p>
26
</ul><p>Всё это мешает развивать проект, потому что чем больше кода, тем больше вероятность, что где-то появятся уязвимости и баги. В итоге получается приложение, которое не только не решает прежних проблем, но и создаёт новые.</p>
27
<p>И наоборот: нацеленность на решение проблем позволяет лучше продумать архитектуру и правильно расставить приоритеты в разработке. Так можно<em>достичь большей эффективности с помощью меньшего объёма кода</em>.</p>
27
<p>И наоборот: нацеленность на решение проблем позволяет лучше продумать архитектуру и правильно расставить приоритеты в разработке. Так можно<em>достичь большей эффективности с помощью меньшего объёма кода</em>.</p>
28
<p>Отсюда следует простое правило:</p>
28
<p>Отсюда следует простое правило:</p>
29
<p>Я считаю, что не стоит заниматься этим больше 4 часов в день. Оставшееся время лучше тратить на планирование архитектуры, изучение потребностей пользователей, ревью существующего кода, составление тестов и документации<em>(этим лучше заниматься заранее).</em></p>
29
<p>Я считаю, что не стоит заниматься этим больше 4 часов в день. Оставшееся время лучше тратить на планирование архитектуры, изучение потребностей пользователей, ревью существующего кода, составление тестов и документации<em>(этим лучше заниматься заранее).</em></p>
30
<p>В пример можно привести эту статью. Мне потребовалось всего полдня, чтобы написать её, но перед этим я несколько недель "варил" её в своей голове. То же самое и с программированием: лучшие решения появляются когда угодно, но не в процессе написания кода.</p>
30
<p>В пример можно привести эту статью. Мне потребовалось всего полдня, чтобы написать её, но перед этим я несколько недель "варил" её в своей голове. То же самое и с программированием: лучшие решения появляются когда угодно, но не в процессе написания кода.</p>
31
<p>Конечно, чтобы прийти к этому, нужно овладеть хотя бы одной технологией - тогда вы поймёте, как писать небольшие, но эффективные приложения.</p>
31
<p>Конечно, чтобы прийти к этому, нужно овладеть хотя бы одной технологией - тогда вы поймёте, как писать небольшие, но эффективные приложения.</p>
32
<a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
32
<a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>