
Sergey
24.01.2018
08:27:56
ну то есть типа кохижена это больше причина для группировки модулей. "случайная" явно хуже "фуцнкционального"

Like
24.01.2018
08:28:10

Mykola
24.01.2018
08:28:54
тут как-то с другой стороны надо подходить
как - я тоже не могу пока ответить

Google

Mykola
24.01.2018
08:32:09
но мысль крутится вокруг эквивалентных преобразований кода

Sergey
24.01.2018
08:32:10

Mykola
24.01.2018
08:33:01
ну к примеру у тебя есть две программы, которые делают одно и то же
в одной там ооп и суперсолид, а в другой - процедурка процедурку вызывает
там будет разный коуплинг и кохижен, например
какой код лучше?

Roman
24.01.2018
08:34:48
Смотря какие метрики
Которые определяют что лучше а что хуже.

Sergey
24.01.2018
08:36:16
(и это не обязательно будет ООП с суперсолидом))))

Google

Sergey
24.01.2018
08:37:00
больше кохижен -проще находить код. Меньше каплинг - проще вносить изменения

Roman
24.01.2018
08:37:08
Есть там файлик какой-то попарсить в БД закинуть, и в процедурном стиле это займёт 30 минут времени, а Ъ вариант - рабочий день, и критической метрикой является время получения готовой программы - то процедурки, как ни странно лучше.
А если ERP CRM Enterprise Rocketscience SupaDupaMega System - то в процедурках можно погибнуть.

Mykola
24.01.2018
08:37:49
но перед этим важно осознать по настоящему два важных вопроса, которые витают в воздухе:
- как из программы одного вида сделать программу другого вида? можно ли это вообще сделать? (а автоматически?)
- а действительно ли это две одинаковые программы с одинаковыми возможностями?

Roman
24.01.2018
08:37:52
Зависит от того чем, что и как измерять. Какие критерии, каким способом.

Sergey
24.01.2018
08:37:54


Mykola
24.01.2018
08:39:52
Тут не думать надо, а математику применять какую-то бешеную

Sergey
24.01.2018
08:40:10

Mykola
24.01.2018
08:40:32
Отнюдь. Есть жизненный пример
Последовательные и параллельные алгоритмы какие-то

Sergey
24.01.2018
08:41:06
p.s. как научиться в математику что бы когда люди скидывают ссылки на книжки по теории категорий хоть чето понимать?)

Mykola
24.01.2018
08:42:02
Я ещё не встречал в теории категорий оценки связности
Там в основном все вокруг теории типов крутится)

Sergey
24.01.2018
08:42:55
я думаю что если избавиться от времени в этом уравнении - то все станет чуть проще

Aleh
24.01.2018
08:42:57

Mykola
24.01.2018
08:43:28
А как ты от него избавиться?

Sergey
24.01.2018
08:43:55
со своими свойствами
но я подозреваю что он там про экторы топил

Google

Mykola
24.01.2018
08:44:51
Есть реальный код где время имеет значение. Хз как от него избавиться.

Sergey
24.01.2018
08:45:31
и я думаю что бешеную математику не осилит большинство
так что даже если ты вдруг сможешь формализовать эти субъективные штуки и при помощи своей бешеной математики хотя бы сможешь давать разработчикам подсказки "почему говно"....
то круто, но для начала можно попробовать просто за счет вопросов сделать то же самое
а "преобразователь программ" - это я думаю после того как ты решишь как требования формализовать)

Mykola
24.01.2018
08:47:56
этот преобразователь должен основываться не на "требованиях", а на каких-то вменяемых критериях, некоторой функциии для минимизации
как в симплекс-методе там например
на каждом этапе преобразования твой код лучше и лучше

Sergey
24.01.2018
08:51:18
для этого компайл тайм мир должен совпадать с рантайм миром либо ты должен учитывать рантайм (аля JIT)
более того тебе было бы неплохо учитывать еще и историю VCS
ну и я не думаю что сегодня (или завтра) это будет возможно... так как ты по сути говоришь о том что бы сделать что-то умнее среднего разработчика)

Aleh
24.01.2018
09:42:11
Увы, джоб оферы в другой чат

Max
24.01.2018
20:37:22
Тут не думать надо, а математику применять какую-то бешеную
Как раз таки те кто шарит хорошо в математике достаточно плохо (чаще всего) шарит в погромировании и ООП в частности. Я как то краем глаза глянул одно такое творение, где спагетти на 80к строк и код аля isVorkuta (который хранит bool, и так на каждый город у него)
Вы тут господа топите за низкую связность и кохижн с каплингом, но как это можно понять нубу без конкретного примера с псевдокодом, мб их есть у вас?

Bohdan
24.01.2018
20:46:29
да вот ни у кого руки не доходят сделать примеры
господа админы
может провести тут опрос, кто на чем пишет? для статистики чисто

Kirill
24.01.2018
20:47:40
/stat@combot

Combot
24.01.2018
20:47:41
combot.org/chat/-1001071233926

Mykola
24.01.2018
20:56:42
я на компютере и на ноудбуке

Google

Sergey
24.01.2018
20:57:34

Mykola
24.01.2018
20:58:04

Admin
ERROR: S client not available

Sergey
24.01.2018
20:58:12
но это сложно и мне лениво...

Max
24.01.2018
20:59:15
я пытаюсь родить примеры
А что то из рабочей практики взять если? Понятно что какие то моменты опустить, но так ведь само наглядней будет

Mykola
24.01.2018
20:59:49
могу класный пример
из мира пхп симфони
надо?

andretshurotshka?❄️кде
24.01.2018
21:00:08
не
давайте пример из мира языка с генериками

Max
24.01.2018
21:00:17
И было бы круто собрать список проектов на гитхабе, которые можно брать в качестве ориентира (ООП, кохижены и все остальное)

Roman ?
24.01.2018
21:00:37

Mykola
24.01.2018
21:00:41
в фейсбучного пхп есть генерики)

Max
24.01.2018
21:00:46

Anton
24.01.2018
21:00:53

Mykola
24.01.2018
21:01:07
кароч, я не про пхп буду, а так, авьтрактно
просто пример класный

Max
24.01.2018
21:01:46

Mykola
24.01.2018
21:02:12
о! так есть же книжка с примерами

Google

Anton
24.01.2018
21:02:17
Сколько уж раз пытались делать всякие мудрые дядьки, никто так и не сделал

Mykola
24.01.2018
21:02:18
забыл как называется
помой кота
или как-то так

Anton
24.01.2018
21:02:47
Примеры все только на уточках, от коих толку чуть более чем никакого
Буду рад если меня поправят

Mykola
24.01.2018
21:03:36
никто не заценил шутку про кота :(

Max
24.01.2018
21:04:18
Если примеры чуть сложнее типичного crud, то это уже хорошо будет, пусть и с уточками

Sergey
24.01.2018
23:00:15
проблема с "примером на гитхабе" в том, что вся прелесть этих всех премудростей проявляется в ходе внесения изменений. Более того, оценить ты это можешь только поработав какое-то время с кодом. Ну то есть это все "легко понять" только когда ты уже прошел тернистую дорожку и понял. А до этого - нифига не очевидные вещи
максимум что я могу придумать - это вопросы которые должны помочь с описанием болезней кода