HTML Diff
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>