Получи случайную криптовалюту за регистрацию!

В вакансиях часто можно встретить такие слова как SOLID, KISS | Girl who codes

В вакансиях часто можно встретить такие слова как SOLID, KISS и DRY (и их очень любят спрашивать работодатели на собеседованиях)

Это не какие-то заумные технологии (как могло бы показаться), а всего несколько принципов, которые программисты стараются использовать в своей работе.

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

DRY (Don’t repeat yourself) говорит о том, что надо как можно меньше повторяться (а лучше не повторяться вообще).
Для этого есть масса инструментов - миксины в css, функции и методы в языках программирования и так далее. Главное этим всем пользоваться и не раздувать свой код до огромных размеров, когда его становится невыносимо поддерживать и в котором едва можно разобраться
Не раз и не два получалось сократить код, скажем, с 1500 строк кода до 300 как раз благодаря этому подходу.

SOLID - это самый сложный принцип, а точнее даже 5 принципов. Они расшифровываются вот так:
• Single responsibility — принцип единственной ответственности
• Open-closed — принцип открытости / закрытости
• Liskov substitution — принцип подстановки Барбары Лисков
• Interface segregation — принцип разделения интерфейса
• Dependency inversion — принцип инверсии зависимостей
Каждый принцип сам по себе является целой идеологией и все они не зависят друг от друга. Но вместе они позволяют делать код более понимаемым, лучше описаным и поддерживаемым.
Его одним постом, конечно, не объять))

Но расскажу хотя бы про первый пункт - принцип единственной ответственности.
Оригинально это звучит так: A module should be responsible to one, and only one, actor.
Есть два варианта трактовок этой фразы:
Первая встречается чаще всего: Модуль должен иметь только одну обязанность. Это говорит нам о том, что каждый блок кода должен иметь лишь одну ответственность: отвечать только за одну вещь (функциональность).
Но есть еще один вариант, который ближе к оригиналу на английском. Все несколько хитрее.
В этом принципе речь идет о том, что изменения в каком-то куске кода (модуле) может запрашивать одна и только одна роль (или человек). А не так, что один пользователь просит сделать тетрис, другой морской бой, а третий говорит, что делайте что угодно, то только без игрушек. И программисты такие - а что в итоге делать-то?

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