@oop_ru

Страница 444 из 785
Dmitry
04.01.2018
14:57:37
а ООП это когда "low coupling + high cohesion"
А в чем разница этих понятий? Переводятся они оч одинаково на русский

Aleh
04.01.2018
14:58:21
внешняя и внутренняя

Igor
04.01.2018
14:59:21
нужно передать объект
Пикл https://pythonworld.ru/moduli/modul-pickle.html Говорят когда такие вещи требуются, то в проекте плохо с архитектурой. Расскажи про свою задачу. Зачем передавать объект?

Dmitry
04.01.2018
14:59:22
внешняя и внутренняя
Ну со связанностью понятно, а вот со вторым

Google
Sergey
04.01.2018
14:59:27
А в чем разница этих понятий? Переводятся они оч одинаково на русский
у тебя есть модуль. У модуля есть граница. То насколько внутри границы все вместе связано (по смыслу например) - это кохижен. А то как модули между собой связаны - это каплинг

Aleh
04.01.2018
14:59:38
Ну со связанностью понятно, а вот со вторым
coupling = внешняя cohesion = внутренняя

Sergey
04.01.2018
14:59:52
то есть когда у тебя внутри одного модуля две совем разные штуки - у тебя низкий кохижен*

потому что эти штуки в модуле просто так появились

Sergey
04.01.2018
15:00:33
да)

проще всего разницу между ними осознать разобравшись в видах каплингов и кохиженов (у них есть разные виды, да)

Sergey
04.01.2018
15:01:09
модуль это такое широкое понятие)
а нам именно оно и нужно.

файл, папка, подсистема

Aleh
04.01.2018
15:01:29
или, может, объект )

Sergey
04.01.2018
15:01:34
это не важно, важно почему у тебя штуки в одном файле, почему у тебя штуки в одной папке

что их объеденяет

Google
Sergey
04.01.2018
15:02:10
вот вот сила которая их объеденяет - это кохижен. Самый слабый вид кохижена - случайные связи типа

когда ты рандомом напихал всего

Dmitry
04.01.2018
15:04:51
Кажется примерно понял. Это логическая связанность внутри модуля. Тоесть если что то в модуле делает не то для чего он нужен, то это слабый кохежин

Sergey
04.01.2018
15:05:33
тип того, и возможно штуку надо в другой модуль...

по сути кохижен это про SRP, а SRP про кохижен

OCP про каплинг

Sergey
04.01.2018
15:06:14
?

Dmitry
04.01.2018
15:06:27
Спасибо за разъяснения

Sidredin
04.01.2018
15:07:01
Что тут са сыр бор?

Yevhen
04.01.2018
20:08:39
А в чем разница этих понятий? Переводятся они оч одинаково на русский
Где-то встречал такой перевод: cohesion — связность, coupling — связанность

f4rt~
04.01.2018
20:09:47
связность и зацепление

Pavel
04.01.2018
20:10:23
имхо, сплетенность для cohesion хорошо подходит

Sergei
04.01.2018
21:10:52
всякие переводы на русские редко делаются хорошо, всегда нужно смотреть в оригинале

Вот например здесь хорошее обьяснение:

https://stackoverflow.com/questions/3085285/cohesion-coupling

Sergey
04.01.2018
21:17:35
всякие переводы на русские редко делаются хорошо, всегда нужно смотреть в оригинале
тут проблема не с переводом - тут проблема с дословным переводом и потерей семантики

Google
Sergey
04.01.2018
21:18:24
лично мне нравится вариант "внутренняя связанность" и "внешняя связанность"

намного логичнее и лучше передает смысл

но чаще использую вариант без перевода - "модуль не кохизив - переделай"

Sergei
04.01.2018
21:19:51
Это лучше звучит, да и смысла в этом больше, только одна проблема, я это определение на русском первый раз слышу) во всех источниках где перевод на русский это переведено плохо, иначе вопросов таких бы не возникало

Sergey
04.01.2018
21:20:34
а встречается или нет - не важно, важна семантика

Sergei
04.01.2018
21:23:31
Есть ещё один вариант, чуть более точный перевод, "высокая сгущённость и низкая связанность"

Yevhen
04.01.2018
21:30:34
Нагуглилось https://ru.m.wikipedia.org/wiki/Когезия

Sergey
04.01.2018
21:32:23
норм, высокая когезия и низкая связанность)

но воспринимается сложнее чем высокая внутрянняя и низкая внешняя связанность модуля

da horsie
04.01.2018
23:08:26
Cohesion - цельность, целостность. Coupling вот хз. Несамостоятельность?

Sergey
04.01.2018
23:11:55
ой все

da horsie
04.01.2018
23:21:05
Coupling - связанность ?
Ну в общем да, что далеко ходить.

Aleh
05.01.2018
21:39:34
Говорят, Kotlin теперь модный ФП язык ? https://i.gyazo.com/9c29c4ad5271dfda2bb6e6660ffb0fa9.png

class-based functional languages

da horsie
05.01.2018
21:45:18
котлин крутой

Mikhail
05.01.2018
22:55:32
class-based functional languages
Меня это тоже смутило

Sergey
05.01.2018
23:23:03
Меня это тоже смутило
а что такое функциональное программирование?

Mikhail
05.01.2018
23:23:24
Я не знаю, я просто лапшу пишу

Google
Sergey
05.01.2018
23:23:27
вот если у меня нет стэйта и сайд эффекты изолированы - я могу говорить что я практикую ФП?

Sergei
06.01.2018
00:05:26
Вот мне тоже интересно - если все инстансы immutable - это уже ФП?

Это ФП - как "любовь": описывает множество очень разных активностей.

andretshurotshka?❄️кде
06.01.2018
00:08:10
Sergey
06.01.2018
08:50:07
не, еще нужна рекурсия не вышибающая стек
tail-call оптимизацию в рантайм не завезли(

andretshurotshka?❄️кде
06.01.2018
08:50:24
тогда не фп

Sergey
06.01.2018
08:51:26
но я ведь могу сделать сверху свой кастыль который разворачивает рекурсию в цикл, с точки зрения языка ему то пофигу

ну то есть с точки зрения кода я как бы рекурсию юзаю)

andretshurotshka?❄️кде
06.01.2018
09:00:52
тогда норм

melancholiac
06.01.2018
11:16:48
вот если у меня нет стэйта и сайд эффекты изолированы - я могу говорить что я практикую ФП?
есть 2 мнения что фп =чистое фп и что фп=отсутствие процедурного кода

но это не точно

Sergey
06.01.2018
11:17:33
> отсутствие процедурного кода в чем выражается отсутствие процедурного кода? в отсуттствии сайд эффектов? тогда чем это отличается от "чистого фп"?

и еще вопрос - предположим у тебя есть система, она замкнута и не имеет побочных эффектов. Может ли она быть нам полезна?

ведь вывод информации это тоже сайд эффект

или мы говорим о неких "чистых системах" в процедурной оболочке?

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