Принципы программирования YAGNI, KISS, DRY

Базовые принципы программирования YAGNI, KISS, DRY, следование которым поможет сделать ваш код более качественным и читаемым

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

  1. YAGNI — You Ain’t Gonna Need It.
  2. KISS — Keep It Simple, Stupid.
  3. DRY — Don’t Repeat Yourself.

YAGNI значит You Ain’t Gonna Need It (вам это не понадобится)

Суть принципа: Реализуйте только поставленные задачи! Не делайте то, что не нужно.

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

Допустим вам поступила задача на разработку функционала загрузки структурированных данных по сотрудникам из какого-либо источника. Данные формализованы и описаны.

После реализации основной задачи вы решили добавить к функциям загрузчикам модель машинного обучения, которая позволит заполнять пропущенные значения данных, если таковые имеются, предиктивными. Эта задача не предполагалась в начальной постановке от заказчика и вы фактически придумали себе ее сами, что привело к увеличению длительности и затрат на выполнение задачи в целом, увеличило нагрузку на тестировщиков и увеличило риски наличия багов. В действиях явно видно нарушения принципа YAGNI. Делайте то, что нужно!

KISS значит Keep it simple, stupid (делайте вещи проще)

Суть принципа: Люди (включая пользователей продуктов и услуг), как правило, хотят простых вещей, то есть простых в освоении и использовании. Избегайте чрезмерного проектирования и усложнения!

Можно рассмотреть в качестве примера следующий кейс: заказчик обратился к вам с просьбой сделать функционал регистрации пользователей на своем сайте, которая дает доступ к новому дополнительному разделу. Подтверждение регистрации должно осуществляться через email.

Вы решили помимо стандартной реализации системы авторизации, подключить всевозможные регистрации от facebook, vk, google, telegram, instgram, и помимо всего этого добавить шаг по заполнению значительного количества полей с анкетными данными пользователя (пол, дата рождения, адрес, город, интересы и т.п.), чтобы отобразить их на его личной странице.

Вы явно усложняете! Может быть просто стоит сделать обычную регистрацию с указанием email и пароля? Это и будет применение принципа KISS.

DRY значит Don’t repeat yourself (не повторяйте себя)

Суть принципа: нужно избегать повторений одного и того же кода. Лучше использовать универсальные свойства и функции.

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

Сколько вы будете тратить времени, если каждый раз будете заново писать одну и ту же форму отчёта, и добавляя данные в него?

В какой-то момент вам это надоест и захочется автоматизировать эту работу. И тут вы разработаете один шаблон, в котором нужно заменить всего лишь пару значений и подгрузить необходимые данные из различных источников. Работа, которая могла занимать час, теперь требует 10 минут.

Вы применили DRY и больше не будете повторять одно и то же каждый раз!

Тэги:
common
Дата публикации:
21.09.2023

avatar
master
Admin

Похожие статьи