
Dzmitry
01.06.2018
22:03:26

Дмитрий
01.06.2018
22:03:43

Alexei
01.06.2018
22:04:01
это одномодульная

Morsik
01.06.2018
22:04:04

Google

Дмитрий
01.06.2018
22:04:13
Что он тебе сделал

Yaroslav
01.06.2018
22:04:25
Раскрой чуть подробнее, я не разбираюсь в архитектурах и названиях
что-то вроде этого:
мы хотим получить слабосвязанную архитектуру с функциональностью, разделенную на независимые модули, которые, в идеале, не должны иметь зависимостей друг от друга. Когда случается что-то интересное, модули сообщают об этом другим частям приложения, а промежуточный слой интерпретирует их сообщения и необходимым образом реагирует на них.

Morsik
01.06.2018
22:04:52

Yaroslav
01.06.2018
22:05:00
только внутри одног сервера

Алексей
01.06.2018
22:05:03

Yaroslav
01.06.2018
22:05:04
модули
так а когда спросить
пишу архитектуру приложения, все говорят, пиши модульно
спрашиваю, что это
говорят общие фразы и кидают пример на 3 файла

Alexei
01.06.2018
22:05:46
стебутся просто, наверное

Yaroslav
01.06.2018
22:05:46
когда задаешь вопросы, говорят, эмм.. надо понимать логику проекта
пример ноль

Google

Yaroslav
01.06.2018
22:05:52
в нете

Алексей
01.06.2018
22:06:05
модульно - это когда у тебя код не в одном файлике на 50000 строк, а в 50 файликах каждый по 5000 ?

Yaroslav
01.06.2018
22:06:08
есть только зачатки проектов, где папка юзер это модуль в ней 3 файла по 1- строк

Дмитрий
01.06.2018
22:06:21

Alexei
01.06.2018
22:06:26

Дмитрий
01.06.2018
22:06:33
Это в порядке вещей

Dzmitry
01.06.2018
22:06:46

Дмитрий
01.06.2018
22:06:49
???

Dzmitry
01.06.2018
22:06:50
Как мне кажется

Morsik
01.06.2018
22:07:01
спроси у заказчика что вообще будет

Dzmitry
01.06.2018
22:07:06
Где то норм
А где то сложнее будет

Morsik
01.06.2018
22:07:10
к каким изменениям быть готовым

Mikhail
01.06.2018
22:07:14

Dzmitry
01.06.2018
22:07:19
Учитывая 3-пати либы

Yaroslav
01.06.2018
22:07:25
как вообще бить? по сущностям/по фичам?
что делать с дублирующимся кодом?

Dzmitry
01.06.2018
22:07:39

Yaroslav
01.06.2018
22:07:43
куда?
в верхний слой?
отдельный модуль?

Google

Dzmitry
01.06.2018
22:08:01
Ну что дублируется -> утилс.жс

Yaroslav
01.06.2018
22:08:03
что делать с модулем который зависит от других?

Mikhail
01.06.2018
22:08:04

Alexei
01.06.2018
22:08:08
короче, чувак. берешь, хуячишь всё в одном файле, ставишь курсор в начало файла. жмешь стрелку вниз 3 секунды. где остановилась - там конец первого файла. жмешь снова на 3 секунды. приходишь в конец 2 файла. по такому принципу продолжаешь разбиение. когда файл закончился - сдаёшь проект. с модульной архитектурой

Dzmitry
01.06.2018
22:08:10
И функцией называешь

Yaroslav
01.06.2018
22:08:24
общие вещи

Алексей
01.06.2018
22:08:27

Morsik
01.06.2018
22:08:32

Yaroslav
01.06.2018
22:08:47

Dzmitry
01.06.2018
22:09:02
>каждое действие

Mikhail
01.06.2018
22:09:20

Yaroslav
01.06.2018
22:09:22

Dzmitry
01.06.2018
22:09:32

Yaroslav
01.06.2018
22:09:40
Делайте фасады
но фасад этож конкретно агрегатор доступа, там не должно быть логики

Morsik
01.06.2018
22:09:42

Yaroslav
01.06.2018
22:10:06
классы меньше делай
наследования приводит к наслоению, такому что изменение базового класа влечет изменение всей цепи

Dzmitry
01.06.2018
22:10:09

Алексей
01.06.2018
22:10:09

Yaroslav
01.06.2018
22:10:16
это пиздец дебажить и фиксить в большом проекте

Google

Morsik
01.06.2018
22:10:20

Mikhail
01.06.2018
22:10:22

Yaroslav
01.06.2018
22:10:22
у меня прошлый такой был

Dzmitry
01.06.2018
22:10:53

Alexei
01.06.2018
22:10:54
вот кстати, пример koa. сам по себе от модулей внешних не зависит. они между собой тоже не всегда зависят. модульность! (и асинхронность)

Dzmitry
01.06.2018
22:10:55
Усе

Yaroslav
01.06.2018
22:11:23

Mikhail
01.06.2018
22:12:04

Дмитрий
01.06.2018
22:12:05

Алексей
01.06.2018
22:12:18
уже в процессе юудет потихоньку приходить понимаение где и куда надо положить тот или иной код

Дмитрий
01.06.2018
22:13:15

Yaroslav
01.06.2018
22:13:24

Алексей
01.06.2018
22:13:52
и будь готов к тому, что тебе постоянно будет хотеться всё это переписать, перерефакторить, ещё как-то улучшить - гони все эти мысли) на новом проекте будешь писать с учётом нового опыта

Yaroslav
01.06.2018
22:14:10

Dzmitry
01.06.2018
22:14:16

Alexei
01.06.2018
22:14:26
koa-is-json интригующее название

Yaroslav
01.06.2018
22:14:54
та понимаю, но прошлый проект был монолит. он разросся. там был пиздец с поддержкой и изменениями
ооп это ваше

Алексей
01.06.2018
22:14:58
1. что делать с кодом который дублируеться.
дублирующегося коды быть не должно, ты же должен это понимать) а раз так - выноси это в отдельные файлы. название по типу utils.js, helpers.js

Google

Дмитрий
01.06.2018
22:15:23

Alexei
01.06.2018
22:15:27
да

Дмитрий
01.06.2018
22:15:32
Я считаю это не модульность, это бардак

Alexei
01.06.2018
22:15:32
я как раз тоже смотрю
кто там хотел плохой код в коа? вот он

Алексей
01.06.2018
22:16:07
2. что делать с модулями которые наследуються.
странный вопрос - что тебе нужно с ними делать, то и делай) просто наследовать модули ради наследования модулей - выкинь эту фигню из головы)

Yaroslav
01.06.2018
22:16:23

Алексей
01.06.2018
22:16:26
3. как дробить на модули логика/сущности
в твоём вопросе содержится ответ)

Dzmitry
01.06.2018
22:16:30
Или в тайпскрипт

Yaroslav
01.06.2018
22:17:08
в общем, если у кого, есть ссылка на проект с модулями. буду ей очень рад

Алексей
01.06.2018
22:17:21

Yaroslav
01.06.2018
22:17:21
ибо пример проекта, не могу найти
только фронт
сейчас там бордак а не модульность

Alexei
01.06.2018
22:17:59
а еще ишью там есть одна! https://github.com/koajs/is-json/issues/1

Дмитрий
01.06.2018
22:18:02

Alexei
01.06.2018
22:18:10
годовщину отметила

Yaroslav
01.06.2018
22:18:11