@nodejs_ru

Страница 2094 из 2748
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
Раскрой чуть подробнее, я не разбираюсь в архитектурах и названиях
что-то вроде этого: мы хотим получить слабосвязанную архитектуру с функциональностью, разделенную на независимые модули, которые, в идеале, не должны иметь зависимостей друг от друга. Когда случается что-то интересное, модули сообщают об этом другим частям приложения, а промежуточный слой интерпретирует их сообщения и необходимым образом реагирует на них.

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

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
Дмитрий
01.06.2018
22:06:33
Это в порядке вещей

Дмитрий
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
есть только зачатки проектов, где папка юзер это модуль в ней 3 файла по 1- строк
давай тогда серьёзно. начни с простого - каждое действие старайся делать отдельной идемпотентной функцией. эти функции логически группируй по файликам. вот у тебя уже будет модульность

Yaroslav
01.06.2018
22:08:47
Когда ни один из модулей не знает о существовании другого
а что делать, с теми которые все-таки зависят от других

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

Yaroslav
01.06.2018
22:09:22
Ооп не пробовал?
из-за него и получаеться монолит

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
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
В реализации должна быть. Почему нет?
из определения паттерна. вы наверно имете в виду медиатор. вы советуете выносить в логический слой над модулями?

Дмитрий
01.06.2018
22:12:05
Алексей
01.06.2018
22:12:18
из определения паттерна. вы наверно имете в виду медиатор. вы советуете выносить в логический слой над модулями?
короче. я тоже раньше над подобными вопросами голову ломал. совет такой - просто начни писать код. пока не начнёшь - голову всей этой хернёй не забивай

уже в процессе юудет потихоньку приходить понимаение где и куда надо положить тот или иной код

Yaroslav
01.06.2018
22:13:24
короче. я тоже раньше над подобными вопросами голову ломал. совет такой - просто начни писать код. пока не начнёшь - голову всей этой хернёй не забивай
есть уже конкретные вопросы. 1. что делать с кодом который дублируеться. 2. что делать с модулями которые наследуються. 3. как дробить на модули логика/сущности

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

Yaroslav
01.06.2018
22:14:10
Нет. Я не имел в виду медиатор
суть идеи понял. спасибо

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
1. что делать с кодом который дублируеться. дублирующегося коды быть не должно, ты же должен это понимать) а раз так - выноси это в отдельные файлы. название по типу utils.js, helpers.js
суть модулей, как я понимаю, что их можно вырвать из проекта и поместить в другой + они не должны быть связаны с чем либо вне модуля. (или может я не так понимаю)

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

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
ибо пример проекта, не могу найти
Я надеюсь ты хоть не для koa примеры ищешь? А то тут есть одна особенность лол

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

Страница 2094 из 2748