Код
#статьи

Принцип KISS в программировании

Программисты не любят сложный код и придумывают правила, чтобы сделать его проще. Разбираемся, что это за правила и как их соблюдать.

 vlada_maestro / shutterstock

Ситуация: разработчик не понял задачу, запутался в коде и сорвал дедлайн проекта. Такое может случиться по разным причинам, но часто проблемы возникают из-за нарушения принципа KISS. Разберёмся, что это значит.

Что такое KISS

Принцип KISS — это когда вы берёте задачу и решаете её простым способом:

  • Не подключаете всю библиотеку, если нужна всего пара функций.
  • Не закладываете избыточные функции, если о них не просил заказчик.
  • Не используете избыточные классы и методы.
  • Не перегружаете интерфейс и не делаете сложную бизнес-логику.
  • Не выполняете другие действия, если они не влияют на работу проекта.

Когда вы не делаете лишнего, появляются простой понятный код и надёжная программа, которая решает проблему заказчика.

Аббревиатура KISS расшифровывается «keep it short and simple» — «делай кратко и просто». Её придумал авиаконструктор Кларенс Джонсон незадолго до Второй мировой. Он требовал от своих инженеров простых чертежей и инструкций — было важно, чтобы по этим документам фронтовые авиамеханики смогли самостоятельно разобраться с большинством повреждений и починить самолёт.

Для этого инженерам пришлось отбросить сложную терминологию и писать настолько просто, насколько это было возможно. Позже принцип KISS перекочевал в проектную документацию ВМС США, распространился на разные сферы, а теперь стал неотъемлемой частью программирования.

Принцип KISS: если что-то можно сделать проще — так и делайте. Мы говорим о коде, но это годится в любой другой области

Зачем нужно

Часто программисты измеряют свой успех не качеством готового приложения, а числом строк кода — смотрят на объём проделанной работы. Если программа получается короткой — автор чувствует неудовлетворённость и забывает о времени, которое потратил на изучение, алгоритмы и тестирование.

Если использовать принцип KISS, внимание переносится с рабочего процесса на результат. Когда программа работает и справляется с поставленной задачей, неважно, сколько в ней строчек.

Если ты принимаешь это для себя, то начинаешь пользоваться простыми решениями, которых раньше избегал. Так появляется качественный компактный код, который удобно обслуживать. Если не принимаешь — скорее всего, просто не хочешь делать работу, смысл которой тебе не очень понятен.

Каждый выбирает, что ему больше подходит. Например:

❌ Написать код, и все сразу увидят, какой я крутой разработчик и сколько знаю. Не зря же я оканчивал курсы по программированию и решал задачки.

❌ Я уже сеньор, и мой код должен чем-то отличаться от кода джуна. Не могу же я написать обычную программу, с которой справится каждый стажёр.

✅ Написать код, который решит поставленную задачу и будет понятен другим разработчикам. Вдруг я заболею — надо же, чтобы его кто-то обслуживал.

Как это использовать

Шаг 1. Выучите общепринятые стандарты своего языка программирования. Например, для Python это руководство по стилю PEP 8 — без базовых знаний вы не сможете создавать простой код, понятный всем участникам команды.

Так оформляют отступы в Python по стандарту PEP 8. Похожие стандарты есть для каждого языка программирования

Шаг 2. Научитесь правильно разбираться в задаче: вы должны понимать, при каких условиях работа будет считаться выполненной.

Например, тема этой статьи — принцип KISS в программировании. Пишем её для новичков, поэтому важно ответить всего на три вопроса: что такое принцип KISS, зачем он нужен и как им пользоваться при написании кода. Если в тексте с этим всё понятно — работа считается выполненной и можно заканчивать.

С программами похожая ситуация: сначала определяем конечную цель, затем составляем список шагов для её достижения, выбираем инструменты и только после этого переходим к работе. Так мы будем знать, что и зачем делать и какую простейшую версию кода использовать для решения задачи.

Когда будете разбираться в задаче, не поступайте как многие новички: не замыкайтесь в себе и не донимайте коллег чрезмерно.

❌ Новичок не понимает задачу и не обращается к коллегам за помощью: пишет неправильный код, получает много замечаний и постоянно всё переделывает. Это тормозит разработку продукта.

❌ Новичок не пытается разобраться в задаче и сразу обращается за помощью к опытным коллегам — эксплуатирует soft skills и ставит других в положение, когда отказывать неудобно.

✅ Чтобы разобраться в задаче, нужен баланс между hard и soft skills: сначала попробовать справиться самому, отметить проблемные моменты, поискать ответы, составить компактный список непонятных вопросов и уже с ними идти за помощью к коллегам. Программисты — лояльный и дружелюбный народ без предвзятого отношения к джунам. Но человеческий фактор остаётся: никому не хочется быть нянькой, если человек даже не пробовал вникнуть в задачу.

Шаг 3. Проанализируйте готовый проект: нужно понимать, какую функцию выполняет каждый фрагмент кода и как он устроен. Оставьте простой код, а сложный перепишите или отправьте на рефакторинг.

Принцип KISS — это код с ясным предназначением и структурой

Для анализа подойдёт метод визуального скрининга — когда вы скроллите проект и отмечаете каждый экран своим цветом:

  • если код простой и удобочитаемый — это зелёный экран;
  • есть небольшие проблемы — жёлтый;
  • для понимания нужна помощь тимлида или других разработчиков — экран нужно отметить серым цветом;
  • код невозможно прочесть — это красный цвет.

В любом проекте нужно стремиться к тому, чтобы окрасить большинство экранов в зелёный цвет. Это значит, что код соответствует принципу KISS:

Матрица визуального скрининга

Возьмём три проекта, разделим каждый проект на девять экранов и составим цветовую карту — найдём проблемные зоны, где не соблюдается принцип KISS:

Что в итоге

А если коротко и по-простому, то нужно запомнить и начать применять на практике три основные вещи:

  • Принцип KISS — это когда вы делаете просто и только то, что просит заказчик или работодатель.
  • Принцип KISS — это когда вы пишете код, который будет понятен другим разработчикам даже через десять лет.
  • Принцип KISS — это когда вы разбираетесь в задаче и чётко понимаете, когда работу можно считать выполненной.

Попробуйте — всё получится!

Изучайте IT на практике — бесплатно

Курсы за 2990 0 р.

Я не знаю, с чего начать
Научитесь: Профессия Python-разработчик Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована