Найти в Дзене
Self Study

Ответы на собеседовании: YAGNI, DRY, KISS

Введение На собеседовании на позицию Software Engineer вас могут попросить дать определения таким известным принципам как YAGNI, DRY или KISS. В статье приводятся их краткие определения, которых должно быть достаточно для ответа человеку, который вас будет собеседовать. YAGNI You Aren’t Gonna Need It / Вам это не понадобится Если вы пишете код, то будьте уверены, что он вам понадобится. Не пишите код, если думаете, что он пригодится позже. Этот принцип применим, например, при рефакторинге. Если вы занимаетесь рефакторингом, не бойтесь удалять лишние методы, поля или классы, которые раньше были полезны, но теперь уже не нужны. Может наступить день, когда они вам снова понадобятся – тогда вы сможете воспользоваться git-репозиторием, чтобы воскресить их из мертвых. DRY Don’t Repeat Yourself / Не повторяйтесь Дублирование кода – пустая трата времени и ресурсов. Вам придется поддерживать одну и ту же логику и тестировать код сразу в двух местах, причем если вы измените код в одном месте
Оглавление

Введение

На собеседовании на позицию Software Engineer вас могут попросить дать определения таким известным принципам как YAGNI, DRY или KISS. В статье приводятся их краткие определения, которых должно быть достаточно для ответа человеку, который вас будет собеседовать.

YAGNI

You Aren’t Gonna Need It / Вам это не понадобится

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

Этот принцип применим, например, при рефакторинге. Если вы занимаетесь рефакторингом, не бойтесь удалять лишние методы, поля или классы, которые раньше были полезны, но теперь уже не нужны.

Может наступить день, когда они вам снова понадобятся – тогда вы сможете воспользоваться git-репозиторием, чтобы воскресить их из мертвых.

DRY

Don’t Repeat Yourself / Не повторяйтесь

Дублирование кода – пустая трата времени и ресурсов. Вам придется поддерживать одну и ту же логику и тестировать код сразу в двух местах, причем если вы измените код в одном месте, его нужно будет изменить и в другом.

В большинстве случаев дублирование кода происходит из-за незнания системы. Прежде чем что-либо писать, проявите прагматизм: осмотритесь. Возможно, эта функция где-то реализована. Возможно, эта бизнес-логика существует в другом месте. Повторное использование кода – всегда разумное решение.

KISS

Keep It Simple, Stupid / Будь проще

Этот принцип был разработан ВМС США в 1960 году. Он гласит, что простые системы будут работать лучше и надежнее.

  1. Применительно к разработке ПО он значит следующее – не придумывайте более сложного решения задачи, чем требуется.
  2. Иногда самое разумное решение оказывается и самым простым. Написание производительного, эффективного и простого кода – это прекрасно.
  3. Одна из самых распространенных ошибок нашего времени – использование новых инструментов исключительно из-за того, что они блестят. Разработчиков следует мотивировать использовать новейшие технологии не потому, что они новые, а потому что они подходят для решения данной задачи.