Как стать автором
Обновить

Принципы SOLID: как писать хорошо масштабируемый и поддерживаемый код

Время на прочтение7 мин
Количество просмотров8.5K
Всего голосов 9: ↑6 и ↓3+4
Комментарии11

Комментарии 11

Я не понимаю, ну вот сколько можно мусолить одну и ту же уже повсюду изученную, заезженную и скучную тему?

Говорю за себя - мне уже по горло достаточно однотипного контента про solid.

А самое отвратительное в этом, что вы даже не старались - просто сделали перевод статьи тупо чтобы вставить рекламу курсов

Что делать если не юзаешь ООП?

тогда остаются буквы S и I - разделять код на модули, минимизировать их зависимости.

Остальные без наследования/подтипов разве что эмулировать, но тогда вы начнете использовать ООП.

решение очень простое....учить ооп

НЛО прилетело и опубликовало эту надпись здесь

А где же протоколы?

S в SOLID означает Single Responsibility — единственная ответственность
Разбивайте код на модули, каждый из которых имеет одну ответственность.

Видишь такое в статье про SOLID - можно смело пропускать.
Ну, сколько можно из раза в раз повторять одну и ту же повсеместную ошибку! Я уже говорил, что такое безумие?!

Давайте просто заглянем в источник (будет локализованный вариант, да простят меня адепты английского):

Традиционно принцип единственной ответственности описывался так:
Модуль должен иметь одну и только одну причину для изменения.

<...>

Фактически принцип можно перефразировать так:
Модуль должен отвечать за одного и только за одного пользователя или заинтересованное лицо.

<...>

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

Неужели там нет ни слова про разделение кода на мелкие части с одной функциональностью? На самом деле, есть, прямо выше по тексту!

Самое интересное, что такой принцип действительно существует. Он гласит: функция должна делать что-то одно и только одно. Этот принцип мы используем, когда делим большие функции на меньшие, то есть на более низком уровне. Но он не является одним из принципов SOLID — это не принцип единственной ответственности.

S в SOLID означает Single Responsibility — единственная ответственность
Разбивайте код на модули, каждый из которых имеет одну ответственность.

Видишь такое в статье про SOLID - можно смело пропускать.

Не могли бы Вы немного развернуть мысль? Не совсем понимаю, что не так с таким определением.

Давайте просто заглянем в источник (будет локализованный вариант, да простят меня адепты английского)

Извините, не совсем понял, о каком источнике Вы говорите? Я читал дядюшку Боба (и вижу, что в Вашей цитате приводится, предлагаемое им определение единственной ответственности) и Фаулера, но таких переопределений определения у них не припомню.

Это из более новой его (Роберта) книги - Чистая архитектура

Благодарю

Зарегистрируйтесь на Хабре, чтобы оставить комментарий