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>16 фев 2021</li>
2
<ul><li>16 фев 2021</li>
3
<li>0</li>
3
<li>0</li>
4
</ul><p>Программисты не любят сложный код и придумывают правила, чтобы сделать его проще. Разбираемся, что это за правила и как их соблюдать.</p>
4
</ul><p>Программисты не любят сложный код и придумывают правила, чтобы сделать его проще. Разбираемся, что это за правила и как их соблюдать.</p>
5
<p> vlada_maestro / shutterstock</p>
5
<p> vlada_maestro / shutterstock</p>
6
<p>Автор статей о программировании. Изучает Python, разбирает сложные термины и объясняет их на пальцах новичкам. Если что-то непонятно - возможно, вы ещё не прочли его следующую публикацию.</p>
6
<p>Автор статей о программировании. Изучает Python, разбирает сложные термины и объясняет их на пальцах новичкам. Если что-то непонятно - возможно, вы ещё не прочли его следующую публикацию.</p>
7
<p>Ситуация: разработчик не понял задачу, запутался в коде и сорвал дедлайн проекта. Такое может случиться по разным причинам, но часто проблемы возникают из-за нарушения принципа KISS. Разберёмся, что это значит.</p>
7
<p>Ситуация: разработчик не понял задачу, запутался в коде и сорвал дедлайн проекта. Такое может случиться по разным причинам, но часто проблемы возникают из-за нарушения принципа KISS. Разберёмся, что это значит.</p>
8
<p>Принцип KISS - это когда вы берёте задачу и решаете её простым способом:</p>
8
<p>Принцип KISS - это когда вы берёте задачу и решаете её простым способом:</p>
9
<ul><li>Не подключаете всю библиотеку, если нужна всего пара функций.</li>
9
<ul><li>Не подключаете всю библиотеку, если нужна всего пара функций.</li>
10
<li>Не закладываете избыточные функции, если о них не просил заказчик.</li>
10
<li>Не закладываете избыточные функции, если о них не просил заказчик.</li>
11
<li>Не используете избыточные классы и методы.</li>
11
<li>Не используете избыточные классы и методы.</li>
12
<li>Не перегружаете интерфейс и не делаете сложную бизнес-логику.</li>
12
<li>Не перегружаете интерфейс и не делаете сложную бизнес-логику.</li>
13
<li>Не выполняете другие действия, если они не влияют на работу проекта.</li>
13
<li>Не выполняете другие действия, если они не влияют на работу проекта.</li>
14
</ul><p>Когда вы не делаете лишнего, появляются простой понятный код и надёжная программа, которая решает проблему заказчика.</p>
14
</ul><p>Когда вы не делаете лишнего, появляются простой понятный код и надёжная программа, которая решает проблему заказчика.</p>
15
<p>Аббревиатура KISS расшифровывается "keep it short and simple" - "делай кратко и просто". Её придумал авиаконструктор Кларенс Джонсон незадолго до Второй мировой. Он требовал от своих инженеров простых чертежей и инструкций - было важно, чтобы по этим документам фронтовые авиамеханики смогли самостоятельно разобраться с большинством повреждений и починить самолёт.</p>
15
<p>Аббревиатура KISS расшифровывается "keep it short and simple" - "делай кратко и просто". Её придумал авиаконструктор Кларенс Джонсон незадолго до Второй мировой. Он требовал от своих инженеров простых чертежей и инструкций - было важно, чтобы по этим документам фронтовые авиамеханики смогли самостоятельно разобраться с большинством повреждений и починить самолёт.</p>
16
<p>Для этого инженерам пришлось отбросить сложную терминологию и писать настолько просто, насколько это было возможно. Позже принцип KISS перекочевал в проектную документацию ВМС США, распространился на разные сферы, а теперь стал неотъемлемой частью программирования.</p>
16
<p>Для этого инженерам пришлось отбросить сложную терминологию и писать настолько просто, насколько это было возможно. Позже принцип KISS перекочевал в проектную документацию ВМС США, распространился на разные сферы, а теперь стал неотъемлемой частью программирования.</p>
17
Принцип KISS: если что-то можно сделать проще - так и делайте. Мы говорим о коде, но это годится в любой другой области<p>Часто программисты измеряют свой успех не качеством готового приложения, а числом строк кода - смотрят на объём проделанной работы. Если программа получается короткой - автор чувствует неудовлетворённость и забывает о времени, которое потратил на изучение, алгоритмы и тестирование.</p>
17
Принцип KISS: если что-то можно сделать проще - так и делайте. Мы говорим о коде, но это годится в любой другой области<p>Часто программисты измеряют свой успех не качеством готового приложения, а числом строк кода - смотрят на объём проделанной работы. Если программа получается короткой - автор чувствует неудовлетворённость и забывает о времени, которое потратил на изучение, алгоритмы и тестирование.</p>
18
<p>Если использовать принцип KISS, внимание переносится с рабочего процесса на результат. Когда программа работает и справляется с поставленной задачей, неважно, сколько в ней строчек.</p>
18
<p>Если использовать принцип KISS, внимание переносится с рабочего процесса на результат. Когда программа работает и справляется с поставленной задачей, неважно, сколько в ней строчек.</p>
19
<p>Если ты принимаешь это для себя, то начинаешь пользоваться простыми решениями, которых раньше избегал. Так появляется качественный компактный код, который удобно обслуживать. Если не принимаешь - скорее всего, просто не хочешь делать работу, смысл которой тебе не очень понятен.</p>
19
<p>Если ты принимаешь это для себя, то начинаешь пользоваться простыми решениями, которых раньше избегал. Так появляется качественный компактный код, который удобно обслуживать. Если не принимаешь - скорее всего, просто не хочешь делать работу, смысл которой тебе не очень понятен.</p>
20
<p>Каждый выбирает, что ему больше подходит. Например:</p>
20
<p>Каждый выбирает, что ему больше подходит. Например:</p>
21
<p>❌ Написать код, и все сразу увидят, какой я крутой разработчик и сколько знаю. Не зря же я оканчивал курсы по программированию и решал задачки.</p>
21
<p>❌ Написать код, и все сразу увидят, какой я крутой разработчик и сколько знаю. Не зря же я оканчивал курсы по программированию и решал задачки.</p>
22
<p>❌ Я уже сеньор, и мой код должен чем-то отличаться от кода джуна. Не могу же я написать обычную программу, с которой справится каждый стажёр.</p>
22
<p>❌ Я уже сеньор, и мой код должен чем-то отличаться от кода джуна. Не могу же я написать обычную программу, с которой справится каждый стажёр.</p>
23
<p>✅ Написать код, который решит поставленную задачу и будет понятен другим разработчикам. Вдруг я заболею - надо же, чтобы его кто-то обслуживал.</p>
23
<p>✅ Написать код, который решит поставленную задачу и будет понятен другим разработчикам. Вдруг я заболею - надо же, чтобы его кто-то обслуживал.</p>
24
<p><strong>Шаг 1.</strong>Выучите общепринятые стандарты своего языка программирования. Например, для Python это<a>руководство по стилю PEP 8</a> - без базовых знаний вы не сможете создавать простой код, понятный всем участникам команды.</p>
24
<p><strong>Шаг 1.</strong>Выучите общепринятые стандарты своего языка программирования. Например, для Python это<a>руководство по стилю PEP 8</a> - без базовых знаний вы не сможете создавать простой код, понятный всем участникам команды.</p>
25
Так оформляют отступы в Python по стандарту PEP 8. Похожие стандарты есть для каждого языка программирования<p><strong>Шаг 2.</strong>Научитесь правильно разбираться в задаче: вы должны понимать, при каких условиях работа будет считаться выполненной.</p>
25
Так оформляют отступы в Python по стандарту PEP 8. Похожие стандарты есть для каждого языка программирования<p><strong>Шаг 2.</strong>Научитесь правильно разбираться в задаче: вы должны понимать, при каких условиях работа будет считаться выполненной.</p>
26
<p>Например, тема этой статьи - принцип KISS в программировании. Пишем её для новичков, поэтому важно ответить всего на три вопроса: что такое принцип KISS, зачем он нужен и как им пользоваться при написании кода. Если в тексте с этим всё понятно - работа считается выполненной и можно заканчивать.</p>
26
<p>Например, тема этой статьи - принцип KISS в программировании. Пишем её для новичков, поэтому важно ответить всего на три вопроса: что такое принцип KISS, зачем он нужен и как им пользоваться при написании кода. Если в тексте с этим всё понятно - работа считается выполненной и можно заканчивать.</p>
27
<p>С программами похожая ситуация: сначала определяем конечную цель, затем составляем список шагов для её достижения, выбираем инструменты и только после этого переходим к работе. Так мы будем знать, что и зачем делать и какую простейшую версию кода использовать для решения задачи.</p>
27
<p>С программами похожая ситуация: сначала определяем конечную цель, затем составляем список шагов для её достижения, выбираем инструменты и только после этого переходим к работе. Так мы будем знать, что и зачем делать и какую простейшую версию кода использовать для решения задачи.</p>
28
<p>Когда будете разбираться в задаче, не поступайте как многие новички: не замыкайтесь в себе и не донимайте коллег чрезмерно.</p>
28
<p>Когда будете разбираться в задаче, не поступайте как многие новички: не замыкайтесь в себе и не донимайте коллег чрезмерно.</p>
29
<p>❌ Новичок не понимает задачу и не обращается к коллегам за помощью: пишет неправильный код, получает много замечаний и постоянно всё переделывает. Это тормозит разработку продукта.</p>
29
<p>❌ Новичок не понимает задачу и не обращается к коллегам за помощью: пишет неправильный код, получает много замечаний и постоянно всё переделывает. Это тормозит разработку продукта.</p>
30
<p>❌ Новичок не пытается разобраться в задаче и сразу обращается за помощью к опытным коллегам - эксплуатирует soft skills и ставит других в положение, когда отказывать неудобно.</p>
30
<p>❌ Новичок не пытается разобраться в задаче и сразу обращается за помощью к опытным коллегам - эксплуатирует soft skills и ставит других в положение, когда отказывать неудобно.</p>
31
<p>✅ Чтобы разобраться в задаче, нужен баланс между hard и soft skills: сначала попробовать справиться самому, отметить проблемные моменты, поискать ответы, составить компактный список непонятных вопросов и уже с ними идти за помощью к коллегам. Программисты - лояльный и дружелюбный народ без предвзятого отношения к джунам. Но человеческий фактор остаётся: никому не хочется быть нянькой, если человек даже не пробовал вникнуть в задачу.</p>
31
<p>✅ Чтобы разобраться в задаче, нужен баланс между hard и soft skills: сначала попробовать справиться самому, отметить проблемные моменты, поискать ответы, составить компактный список непонятных вопросов и уже с ними идти за помощью к коллегам. Программисты - лояльный и дружелюбный народ без предвзятого отношения к джунам. Но человеческий фактор остаётся: никому не хочется быть нянькой, если человек даже не пробовал вникнуть в задачу.</p>
32
<p><strong>Шаг 3.</strong>Проанализируйте готовый проект: нужно понимать, какую функцию выполняет каждый фрагмент кода и как он устроен. Оставьте простой код, а сложный перепишите или отправьте на <a>рефакторинг</a>.</p>
32
<p><strong>Шаг 3.</strong>Проанализируйте готовый проект: нужно понимать, какую функцию выполняет каждый фрагмент кода и как он устроен. Оставьте простой код, а сложный перепишите или отправьте на <a>рефакторинг</a>.</p>
33
Принцип KISS - это код с ясным предназначением и структурой<p>Для анализа подойдёт метод визуального скрининга - когда вы скроллите проект и отмечаете каждый экран своим цветом:</p>
33
Принцип KISS - это код с ясным предназначением и структурой<p>Для анализа подойдёт метод визуального скрининга - когда вы скроллите проект и отмечаете каждый экран своим цветом:</p>
34
<ul><li>если код простой и удобочитаемый - это зелёный экран;</li>
34
<ul><li>если код простой и удобочитаемый - это зелёный экран;</li>
35
<li>есть небольшие проблемы - жёлтый;</li>
35
<li>есть небольшие проблемы - жёлтый;</li>
36
<li>для понимания нужна помощь тимлида или других разработчиков - экран нужно отметить серым цветом;</li>
36
<li>для понимания нужна помощь тимлида или других разработчиков - экран нужно отметить серым цветом;</li>
37
<li>код невозможно прочесть - это красный цвет.</li>
37
<li>код невозможно прочесть - это красный цвет.</li>
38
</ul><p>В любом проекте нужно стремиться к тому, чтобы окрасить большинство экранов в зелёный цвет. Это значит, что код соответствует принципу KISS:</p>
38
</ul><p>В любом проекте нужно стремиться к тому, чтобы окрасить большинство экранов в зелёный цвет. Это значит, что код соответствует принципу KISS:</p>
39
Матрица визуального скрининга<p>Возьмём три проекта, разделим каждый проект на девять экранов и составим цветовую карту - найдём проблемные зоны, где не соблюдается принцип KISS:</p>
39
Матрица визуального скрининга<p>Возьмём три проекта, разделим каждый проект на девять экранов и составим цветовую карту - найдём проблемные зоны, где не соблюдается принцип KISS:</p>
40
<p>А если коротко и по-простому, то нужно запомнить и начать применять на практике три основные вещи:</p>
40
<p>А если коротко и по-простому, то нужно запомнить и начать применять на практике три основные вещи:</p>
41
<ul><li>Принцип KISS - это когда вы делаете просто и только то, что просит заказчик или работодатель.</li>
41
<ul><li>Принцип KISS - это когда вы делаете просто и только то, что просит заказчик или работодатель.</li>
42
<li>Принцип KISS - это когда вы пишете код, который будет понятен другим разработчикам даже через десять лет.</li>
42
<li>Принцип KISS - это когда вы пишете код, который будет понятен другим разработчикам даже через десять лет.</li>
43
<li>Принцип KISS - это когда вы разбираетесь в задаче и чётко понимаете, когда работу можно считать выполненной.</li>
43
<li>Принцип KISS - это когда вы разбираетесь в задаче и чётко понимаете, когда работу можно считать выполненной.</li>
44
</ul><p>Попробуйте - всё получится!</p>
44
</ul><p>Попробуйте - всё получится!</p>
45
<a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
45
<a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>