Портал Солнечного Ветра
Создатель проекта: Ларионов Андрей Николаевич
SOLID, KISS и DRY

SOLID, KISS и DRY


Автор: admin Дата: 2024-05-18 10:21:20

Аббревиатуры SOLID, KISS и DRY любят часто спрашивать работодатели у своих соискателей. Так что же значат эти символы и какое отношение они имеют к программированию? Эти вопросы которые нуждаются в ответах. Сейчас мы все на них ответим.

KISS расшифровывается как Keep It Simple and Straightforward (Делайте это простым и понятным)

Принцип KISS утверждает, что большинство систем работают лучше всего, если они остаются простыми, а не усложняются. Поэтому в области проектирования простота должна быть одной из ключевых целей, а ненужной сложности следует избегать. Особенно этот принцип будет полезен новичкам, потому что я даже по своим ученицам вижу порой склонность к излишнему переусложнению кода. Как будто людям не верится, что все может быть НАСТОЛЬКО просто))) Может! И именно к этому и надо стремиться 😉

2️⃣ DRY (Don’t repeat yourself) говорит о том, что надо как можно меньше повторяться (а лучше не повторяться вообще).

Для этого есть масса инструментов - миксины в css, функции и методы в языках программирования и так далее. Главное этим всем пользоваться и не раздувать свой код до огромных размеров, когда его становится невыносимо поддерживать и в котором едва можно разобраться 😆

Не раз и не два получалось сократить код, скажем, с 1500 строк кода до 300 как раз благодаря этому подходу.

3️⃣ SOLID - это самый сложный принцип, а точнее даже 5 принципов. Они расшифровываются вот так:

• Single responsibility — принцип единственной ответственности

• Open-closed — принцип открытости / закрытости

• Liskov substitution — принцип подстановки Барбары Лисков

• Interface segregation — принцип разделения интерфейса

• Dependency inversion — принцип инверсии зависимостей

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

Его одним постом, конечно, не объять.

Но расскажу хотя бы про первый пункт - принцип единственной ответственности.

Оригинально это звучит так: A module should be responsible to one, and only one, actor.

Есть два варианта трактовок этой фразы:

📝 Первая встречается чаще всего: Модуль должен иметь только одну обязанность. Это говорит нам о том, что каждый блок кода должен иметь лишь одну ответственность: отвечать только за одну вещь (функциональность).

📝 Но есть еще один вариант, который ближе к оригиналу на английском. Все несколько хитрее.

В этом принципе речь идет о том, что изменения в каком-то куске кода (модуле) может запрашивать одна и только одна роль (или человек). А не так, что один пользователь просит сделать тетрис, другой морской бой, а третий говорит, что делайте что угодно, то только без игрушек. И программисты такие - а что в итоге делать-то? 

И есть еще два принципа - мы их разберем в следующий раз.

Текст взят с https://dzen.ru/a/X-RpJbKKt3in_gcz

Если вы считаете текст данного блога оскорбительным или некорректным, напишите об этом по адресу IntegralAL@mail.ru с URL-адресом блога. В теме письма пишите <Жалоба>, либо <Неккоректно>.

Теги блога:

Программирование
Собеседование
php
Назад к блогам