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