
Sergey
20.12.2017
22:09:45
давай сначала в кучу

Maksim
20.12.2017
22:09:50
о, Антона призвали) надо накинуть про анемичные модели и спать валить)

Bohdan
20.12.2017
22:10:18
давай сначала в кучу
просто там сейчас бардак
солид, дизайн паттерны, наследование против композиции
тут же тебе зандстра и ютуб плейлисты

Google

da horsie
20.12.2017
22:11:30

Sergey
20.12.2017
22:11:39

Bohdan
20.12.2017
22:12:08
кстати, ее в списке нет)

da horsie
20.12.2017
22:12:10
"начни" :)

Артур Евгеньевич
20.12.2017
22:12:37
Обещаю завтра хуйнуть пулреквест

Sergey
20.12.2017
22:12:49
можешь сразу сюда

Bohdan
20.12.2017
22:13:22
за это спасибо, а то как обычно - заходишь на любую вики и теряешься в догадках о том, куда идти

Sergey
20.12.2017
22:13:47
ну вот эта страничка покрывает может треть того что там есть

da horsie
20.12.2017
22:16:05
добавил)

Bohdan
20.12.2017
22:16:35
добавил)
блин, я только форк сделал и закоммитил в него)

da horsie
20.12.2017
22:16:52

Bohdan
20.12.2017
22:16:57
дык тоже)

Google

Sergey
20.12.2017
22:18:09
добавил)
стоит все же пару слов сказать что там

da horsie
20.12.2017
22:18:31
бездна?

Bohdan
20.12.2017
22:19:01
я завтра может разложу по вложенным спискам все это дело

da horsie
20.12.2017
22:19:09
приму пулреквест, в "паре слов" описывающий содержание C2 ;)

melancholiac
20.12.2017
22:19:24
что за С2?

da horsie
20.12.2017
22:19:36

Bohdan
20.12.2017
22:19:46

melancholiac
20.12.2017
22:19:59

Bohdan
20.12.2017
22:20:35
@f3ath закинул

Sergey
20.12.2017
22:20:44
что за С2?
Был такой чувак - Ворд Канингхем. Это чел который придумал формат wiki (с этим я думаю ты знаком). И у него есть своя wiki где тусят всякие бородатые дядьки и дискутируют на тему кто что первым придумал, как это стоило назвать и что это такое.

da horsie
20.12.2017
22:20:57

melancholiac
20.12.2017
22:21:01

Bohdan
20.12.2017
22:21:12
но странно, у меня на коммит отставание, но в измененных файлах нет твоей правки

da horsie
20.12.2017
22:25:27
глюки гитхаба, видимо
замержил

Bohdan
20.12.2017
22:26:04
ага, вижу

da horsie
20.12.2017
22:26:09

Sergey
20.12.2017
22:26:24

da horsie
20.12.2017
22:28:56
924 человека в чате, надо где-нить проспамить и набрать тыщу к новому году)
@arturpanteleev "ооп бесплатно без смс скачать"

Google

da horsie
20.12.2017
22:31:50
сделай нам рекламу, телеграмный магнат)
Если кто еще не спит, вот тема, которая меня беспокоит. Я делаю UI-компоненты на ангуляре. Какими принципами надо руководствоваться, чтобы правильно отделять:
1) представление от логики
2) логику приложения от логики фреймворка
3) тесты поведения от тестов представления (и нужны ли последние вообще?)

Bohdan
20.12.2017
22:50:02
какой ангулар?

da horsie
20.12.2017
22:51:49
пятый

Bohdan
20.12.2017
22:52:31
смотри
я сейчас vue.js мучаю
первый пункт - во вью файлах отдельно темплейт, отдельно код (но в одном файле)
имхо это нормально, так как это все же одно целое и вероятность одинаковых внешне компонентов с разным поведением очень мала
второй пункт
у меня нет такой "фреймворкности", как в ангуларе, но все, что теоретически относится к слою фреймворка (апи, к примеру) - выношу отдельно, по типу сервиса, который использую внутри vuex (аналог redux для реакта)
так же планирую делать и другие штуки
если будут другие источники данных, типа центрифуги - скорее всего, отдельный модуль для неё + внесение данных в vuex
в ангуларе использовал бы какую-то шину для этого, типа ивентов

Sergey
20.12.2017
22:56:37

Bohdan
20.12.2017
22:57:18
тесты представления - я бы не делал, так как они отобразят сугубо разметку
не слишком большая важность этого

Sergey
20.12.2017
22:58:32
ну и да - redux и в целом подход при котором у тебя компоненты тупые и только за отображение отвечают, и они по большей части чистые функции и если у них и есть стэйт - то это чисто UI стэйт аля "текущий размер компонента"
неплохо позволяют отделять вещи

da horsie
20.12.2017
22:59:14

Sergey
20.12.2017
22:59:24
> тесты поведения от тестов представления (и нужны ли последние вообще?)
если у тебя есть UI компонент который содержит UI логику - почему бы его не тестить?
нам нет смысла биндинги тестить - это тебе тайпскрипты лучше сделают

da horsie
20.12.2017
23:00:43
redux в ангуляре, как я понимаю, называется ngrx и он мне не доступен по техническим соображениям сейчас. у меня нету ни store ни редьюсоров, которые я мог бы использовать
из-за этого уменя стейт размазывается

Bohdan
20.12.2017
23:01:20
стейт в каждом компоненте?

da horsie
20.12.2017
23:01:24
дада

Google

da horsie
20.12.2017
23:01:27
мало того
часть стейта просачивается в DOM

Bohdan
20.12.2017
23:01:45
плюс в корне кусок?
я на самом деле не помню уже, как в ангуларе 2+все орнанизовано

da horsie
20.12.2017
23:01:54
ну типа есть css класс у элемента - идем туда, нету - идем сюда

Sergey
20.12.2017
23:01:58
вот есть у меня например UI компонент простенький, который должен обладать следующей логикой: нам на вход подается массив дат доступных. Если даты есть на сегодня или завтра - отображаем один UI, если больше чем 2 дня - надо уже чуть-чуть другой UI покаать.
это все же не совсем тоже самое

Bohdan
20.12.2017
23:02:57

da horsie
20.12.2017
23:03:10

Sergey
20.12.2017
23:03:37
ну то есть если ты разбил так что у тебя есть один композитный компонент с UI логикой и два тупых - тупые ты тестить не будешь

da horsie
20.12.2017
23:04:43
собственно, вопрос, как тестить компонент, если я не могу выделить стейт и редьюсоры

Sergey
20.12.2017
23:04:52
прчием тут редьюсеры? редьюсеры позволяют тебе разделить стэйт на два вида
UI стэйт как бы в компонентах как жил так и будет жить

da horsie
20.12.2017
23:05:20
редьюсоры легко тестировать
это тупо функции

Sergey
20.12.2017
23:05:32

da horsie
20.12.2017
23:05:35
да

Google

Like
20.12.2017
23:05:39

Sergey
20.12.2017
23:05:43
давай по порядку.... приведи пример компонента?)

da horsie
20.12.2017
23:06:06

Sergey
20.12.2017
23:06:06
желательно какой-нибудь проблемный

Like
20.12.2017
23:06:26

Sergey
20.12.2017
23:06:29

Bohdan
20.12.2017
23:06:31

Sergey
20.12.2017
23:07:18

Bohdan
20.12.2017
23:07:37
ребята, ребята
радоваться надо, у нас тут обсуждают не бек, а фронт

Like
20.12.2017
23:07:57

Bohdan
20.12.2017
23:08:37

Sergey
20.12.2017
23:08:49
страшно наверное пользоваться UI фреймворками, написанными людьми которые дико ненавидят фронт

Like
20.12.2017
23:08:58

Bohdan
20.12.2017
23:09:05
вью и бутстрап
мурыжился с простым навбаром потому, что заказчик не хочет булму применять

da horsie
20.12.2017
23:10:48
желательно какой-нибудь проблемный
Пример - selectlist. Это набор опций, которые можно выбирать. Опции могут быть disabled, поведение может быть разное, типа multi selection list, single selection list. Есть еще компоненты вроде dropdown, которые по сути тот же лист, но чуть иначе выглядят. Как их правильно выполнить? Есть такая шутка - material design, это набор компонентов для ангуляра. там реализован selectlist, но каким-то жутким образом, например, у них есть option (единичный элемент списка), которые обладает собственным поведением и знает, является ли он частью multiselection list или singleselection list. Для меня это за гранью понимания.
я щас покажу кусок кода прям

Sergey
20.12.2017
23:12:34
из материала не надо))

da horsie
20.12.2017
23:12:45
нет надо
чтобы ты осознал мою боль