
Roman
22.03.2018
11:26:01
очень даже может быть

Sergey
22.03.2018
11:26:48

Uiiuviiw
22.03.2018
11:28:37
чтобы учить по новому нужно забыть все старое и сформулировать это самое новое. иначе выглядет как навязывание.одни кричат фп, другие ооп и спорить бесполезно

Maksim
22.03.2018
11:28:44
Глобальные переменные - это ок?)

Google

Arthur
22.03.2018
11:29:13
програмирование - это алхимия, пока что все ищут философский камень

Anton
22.03.2018
11:29:15

Maksim
22.03.2018
11:29:33

Roman
22.03.2018
11:30:56
Не существует вещей которые ок или не ок, просто есть вещи использование которых оправдано лишь в очень узкой сфере =)

Mykola
22.03.2018
11:30:57

Dmitry
22.03.2018
11:33:51
http://bxapi.ru/src/?module_id=iblock&name=CIBlockElement::PrepareGetList
да, сейчас 2018 год, это работает до сих пор
капитализация 97 лямов у.е.

Maksim
22.03.2018
11:34:47
мои глаза...

Dmitry
22.03.2018
11:35:40
а вы тут ооп, фп... ))

Dmitriy
22.03.2018
11:35:56
зарефактори )

Bohdan
22.03.2018
11:36:02
бп, фигли

Maksim
22.03.2018
11:36:12
скок лет я венгерки не видел - не сосчитать)

Google

Bohdan
22.03.2018
11:36:23
битрикс-ориентированное программирование

Maksim
22.03.2018
11:36:42
битрикс головного мозга)

Dmitriy
22.03.2018
11:37:14
да чо вы
простая функция )
комментарии по коду ваще помогают
например
//***********************GROUP BY PART**************************
и все стало ясно

Bohdan
22.03.2018
11:45:08
в линкеде вакансия пришла
со строчкой "legacy code development and support"
что-то мне не нравится такое...
(лучше такой оффтоп, чем битрикс)

Maksim
22.03.2018
11:45:23
соглашайся)

Bohdan
22.03.2018
11:45:35
буду legacy web developer

Dmitriy
22.03.2018
11:46:28

Maksim
22.03.2018
11:46:44
senior legacy web developer

Bohdan
22.03.2018
11:46:58

Sergey
22.03.2018
11:47:45
Зато честно)

Alan
22.03.2018
12:09:06

Ivan
22.03.2018
12:34:57
ну как бы. что написал за то и отвечай
новые проекты им подавай

Bohdan
22.03.2018
13:25:44
@fes0r ты там переводить/переделывать статью про наследование хотел? тебя опередили :D

Google

Bohdan
22.03.2018
13:25:46
https://habrahabr.ru/post/351730/
tl;dr: дословный перевод, можно время не тратить

Anton
22.03.2018
13:46:54
если честно перевод довольно сумбурный
как по мне оригинал проще в восприятии

Bohdan
22.03.2018
13:48:28
шо то шо то фигня

Mykola
22.03.2018
13:53:48

Enterpise
22.03.2018
16:32:39
доктор, у меня DI-головного мозга
в тяжелой стадии
как лечить ?

Ivan
22.03.2018
16:36:30
выпить пять таблеток композиции

Mykola
22.03.2018
16:45:17
KISS - это то, что надо принимать вместе с DI, иначе печень можно посадить

Sergey
22.03.2018
16:58:21

Sergey
22.03.2018
16:59:47

Mykola
22.03.2018
17:05:55
:)
иногда "делаем тупо" - это самое умное, что можно сделать

Sergey
22.03.2018
17:06:39
иногда, но в большинстве случаев это означает лишь "делаем тупо"

Mykola
22.03.2018
17:07:40
хз, по разному... я встречал много гениальных "делаем тупо", особенно когда это "делаем тупо в лоб"
потому что оно как раз внедряет KISS
иногда ты борешься с системой, делаешь все "по стандартам" и бест практикам, получается жуткая неподдерживаемая штука

Google

Sergey
22.03.2018
17:09:17
потому что оно как раз внедряет KISS
я к тому что есть огромная разница между "делаем влоб" и "делаем просто", у каждого свое "влоб" и сам понимаешь что агитировать бездумно следовать принципу который не понимают не стоит
точно так же - бездумное следование бэст практисам и т.д

Mykola
22.03.2018
17:10:07
и тогда ты плюёшь на все бест-практики, и запиливаешь тупо кусок кода, который работает в обход системы, работает как часы
и вроде это тупо, но просто и работает
и, как оказывается, намного дешевле в поддержке
правда это пока разработчики системы не подсунуть тебе свинью)

Sergey
22.03.2018
17:11:45
https://gobraithwaite.com/the-story-behind-the-kiss-principle/

Roman
22.03.2018
17:49:11
Нужна помощь. Поидее VO иммутабельны. Как реализовать изменение данных в VO?

BioBodya
22.03.2018
17:49:39
Ты же сам себе противоречишь

Sergey
22.03.2018
17:49:46
bar = foo.withSomething(something)
foo != bar

Roman
22.03.2018
18:01:14

Sergey
22.03.2018
18:01:58
да, в этом и заключается суть имутабельности
ну то есть чисто с точки зрения семантики

Roman
22.03.2018
18:02:17
Ну возьмём типичный пример - ФИО. Вот зочу я их в VO вытащить.

Sergey
22.03.2018
18:02:19
если у тебя есть VO и какое-то значение у этого VO изменилось - то это уже новый VO
и нелогично что у тебя по референсу эти VO будут равны
(хотя сравнивать VO по референсу не ок))

Roman
22.03.2018
18:03:16
Но есть типа правила определённые, согласно которым я должен проверить - а нормальное ли мне значение туда передали. Ну то бишь провалидировать. Где лучше валидацию такую сделать? Внутри самого VO?

Sergey
22.03.2018
18:03:36

Google

Sergey
22.03.2018
18:03:38
внутри VO

Roman
22.03.2018
18:04:02
да
А если валидация не прошла - что делать? С эксепшоном упасть или какой-то результат вернуть?

Sergey
22.03.2018
18:05:04
эксепшен по идее...

Alan
22.03.2018
18:05:05
там то и вариантов навверное нет, потому что это будет в конструкторе? чтоб VO если создан - значит валиден

Roman
22.03.2018
18:05:14
Типа OperationResult<T>, где T - тип моего VO, ну и какой-то флаг булеановский Success и сообщение Message, плюс сам VO в свойстве T Result
Ну и либо оно выполнилось и в T Result лежит мой новый VO, либо что-то пошло не так, и Success=false плюс что-то в Message
Или лучше эксепшон кидать и где-то наверху его ловить?

Mykola
22.03.2018
18:08:02

Roman
22.03.2018
18:08:35

Sergey
22.03.2018
18:08:48

Mykola
22.03.2018
18:09:39
монады - это такой хитрожопый контейнер для последовательности операций, а не прямо хаскель