@oop_ru

Страница 239 из 785
Mykola
11.06.2017
15:14:53
Hello

Алексей
11.06.2017
15:41:54
Йа-йа

Mykola
11.06.2017
16:01:48
Шо вы?

f4rt~
11.06.2017
16:03:06
Добро пожаловать)

Google
Sergey
11.06.2017
16:46:41
Если кто-то захочет про функциональщину поболтать это к нему

f4rt~
11.06.2017
16:47:16
Будем иметь в виду, крутой доклад бтв, молодец)

было что то интересное на Speakers' Corner ?)

dasknix
11.06.2017
18:49:27
@fes0r привет, есть минута?

Андрэ
11.06.2017
20:55:08
Эти ж видосы по этим ссылкам и останутся, верно?

Vladimir
12.06.2017
05:34:33
Позже должны по докладам порезать и выложить на канале

Mykola
12.06.2017
07:19:31
Я вчера немного выпил и меня посетила страшная мысль: solid же на самом деле не совсем хорошая практика.

Андрэ
12.06.2017
07:19:51
Точно немного?)

Mykola
12.06.2017
07:20:21
Ну... Не больше остальных)

Mykola
12.06.2017
07:21:33
Ну вот сингл респонсибилити: недостижимый идеал и зависит от угла зрения

Кому от этого хорошо?

Google
Андрэ
12.06.2017
07:22:29
Провокационный вопрос. Вот как на него ответить вообще можно?

Mykola
12.06.2017
07:23:13
Оупен клоузед это вообще мутная штука. Иногда помогает, но чаще является корнем проблем если домен меняется

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

Ну и лискоу тоже не работает в обычных языках

f4rt~
12.06.2017
07:25:22
Кому от этого хорошо?
Когда у класса одна ответственность, так быстрее можно понять с чем имеешь дело, нежели открываешь а там класс и жнец и чтец и на дуде игрец и слишком тесно связан с другими и тп

Mykola
12.06.2017
07:25:45
Ну это вопрос угла зрения

Если это класс адаптер скажем файловой системы

Там есть и чтение и запись и т.д.

f4rt~
12.06.2017
07:26:28
Ну это вопрос угла зрения
а идеальный ответ где-то посередине ? Тот же Егор в свое время писал статью, что SOLID это просто маркетинговый ход и нельзя сказать что он совсем не прав)

Mykola
12.06.2017
07:26:59
Угу! Значит не я один такой!

f4rt~
12.06.2017
07:27:26
Угу! Значит не я один такой!
Нет конечно) главное найти эту самую истину)

F01134H
12.06.2017
07:27:50
Там есть и чтение и запись и т.д.
логично, что методы класса выполняют разные функции. Но сам то класс работает именно как адаптер файловой системы, у него один контекст

f4rt~
12.06.2017
07:28:29
ну это достаточно холиварна штука на самом деле)))

что ему в таком случае мешает еще и отчеты печатать?

коль тут нарушение SRP нет :D

F01134H
12.06.2017
07:29:00
крч главное следова yagni и не уходить глубоко в абстракцию

что ему в таком случае мешает еще и отчеты печатать?
это уже бизнес логика, нужно отдельно выводить

либо в какой-нибудь логгер

Mykola
12.06.2017
07:30:01
Ну и плюс а почему срп касается только классов?

f4rt~
12.06.2017
07:30:14
Помню что даже в статье было сказано. что слепое следование SRP обычно приводит к избыточной сложности и применять его нужно только тогда, когда это оправдано)

Google
Mykola
12.06.2017
07:31:04
И даже это утверждение не кажется совсем адекватным

F01134H
12.06.2017
07:31:04
да так про все паттерны можно сказать

и методологии

Андрэ
12.06.2017
07:31:24
Серебряной пули не бывает, да

Все кругом трейд-офф

Mykola
12.06.2017
07:31:59
Но если нельзя следовать солиду, то как качество кода оценивать?

Субъективно?

dasknix
12.06.2017
07:32:51
логично, что методы класса выполняют разные функции. Но сам то класс работает именно как адаптер файловой системы, у него один контекст

Андрэ
12.06.2017
07:32:53
Ну оценивает же человек? У него может быть чек лист по форматированию кода, да. Но остальное субъективно в какой-то степени всегда будет

f4rt~
12.06.2017
07:33:00
И даже это утверждение не кажется совсем адекватным
ну толика логики тут есть однозначно. иначе мы все равно придек good object, который: будет позволять слишком много любое его изменение логики будет сказывается в других местах, даже там где ты не знаешь сложно тестировать, исправлять ошибки, реализововать новые хотелки невозможно легко отделить класс так как у него много зависимостей

dasknix
12.06.2017
07:33:03
вопрос похож на с подвохом, но всё проще

Admin
ERROR: S client not available

F01134H
12.06.2017
07:33:32
но не всегда следует это делать

F01134H
12.06.2017
07:33:41
но зачастую да

dasknix
12.06.2017
07:33:47
вы можете использовать для работы с ФС один класс который будет просто декоратором други классов, в зависимости от требуемой задачи (чтение, запись, удаление, блабла)

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

и в итоге этот класс будет соответствовать SRP

а он уже будет подсовывать разные классы, отвечающие за чтение, запись, блабла)

Google
dasknix
12.06.2017
07:34:28
и волки целы и овцы сыты

Mykola
12.06.2017
07:34:43
И классов куча)

dasknix
12.06.2017
07:34:54
не куча. это же SRP

F01134H
12.06.2017
07:35:16
Все зависит от поставленной задачи

dasknix
12.06.2017
07:35:17
так всё-равно будет проще понять чем гадать вот он там что-то выдаст мне или кинет exception или запишет или вообще это просто труфолс

Mykola
12.06.2017
07:35:24
ага, если срп - то куча это не куча)

F01134H
12.06.2017
07:35:30
если там банальное чтение запись, то глупо плодить кучу классов с одним методом

dasknix
12.06.2017
07:35:43
да, потому что когда всё атомарно даже при большом кол-ве сущностей - их проще воспринять

т.к. есть ещё такая шутка (в UML) - packages

то же что и модули

f4rt~
12.06.2017
07:36:03
ага, если срп - то куча это не куча)
у тебя может быть чуть больше чем следовало, но ты точно будешь уверен что при изменении логики в одном из них это не скажется на целом проекте в принципе)

dasknix
12.06.2017
07:36:21
вы просто на нужный уровень декомпозиции опускаетесь и всё понятно, никто же не говорит все 100200 классов в голове в один и тот же момент держать

Mykola
12.06.2017
07:36:22
а вот и скажется

dasknix
12.06.2017
07:37:16
не скажется. если соблюдать принцип подстановки

Mykola
12.06.2017
07:37:17
если у тебя есть чтение и запись в одном классе, то и править ты их будешь вместе, а если отдельно - то можешь в одном месте поправить, а во втором забыть

dasknix
12.06.2017
07:37:23
и обеспечить взаимозаменяемость.

Страница 239 из 785