
Adel
09.05.2018
13:28:20
там грань довольно слабая :)

Sergey
09.05.2018
13:30:12

Adel
09.05.2018
13:30:29

Sergey
09.05.2018
13:30:34
вообще все от того что классы это полнейшая херня

Google

Дмитрий
09.05.2018
13:57:01
Обман, чтобы набрать классы

code4aman
09.05.2018
14:29:24

Sergey
09.05.2018
14:30:56
primitive obsession
можно ли говорить о primitive obsession когда ты собираешь json-ку для респонса из api?
или реквест тебе надо пробросить на обработку

code4aman
09.05.2018
14:33:46

Sergey
09.05.2018
14:34:29
есть хороший показатель того есть у тебя в проекте эта болячка или нет - составить по всем кейвордам и типам облако тегов. И если превалировать будет string, float, int то явно что-то не то
это буквально будет означать что "мое крутое приложение чето делает со строками, флотамии интами"
а не "система автоматизации финансовой отчетности"

code4aman
09.05.2018
14:38:30
и туда же, против классов, еще проблемы с nullability

Google

code4aman
09.05.2018
14:45:59
@fes0r есть опенсорс код посмотреть, чтоб кошерный :) ?
вообще, где можно глянуть на DDD + CQRS?

Sergey
09.05.2018
14:49:07
тут две проблемы:
- никто не будет выкладывать большие и специализированные системы под конкретный домен в опенсурс
- "посмотреть код" плохо передает суть DDD, как никак DDD это больше про то как ты узнаешь что писать и как все видоизменяется с увеличением понимания у тебя предметной области

code4aman
09.05.2018
14:53:04
второе - да, но можно же в теории для какой-то известной предм. области смоделировать

Igor
09.05.2018
14:53:09

Maksim
09.05.2018
14:53:33
хоть оба)
оно о разном же)

Sergey
09.05.2018
14:53:47

code4aman
09.05.2018
14:53:55
ддд это в последнюю очередь о техниках)

Sergey
09.05.2018
14:54:43
DDD это трейдмарк Эванса. По факту это просто про моделирование предметной области, существовало задолго до этого TM.
Driven Design и Driven Development это все ж разные штуки.
например тебя никто не осудит если у тебя команда работает по Feature Driven Development, при этом юзая BDD для сбора требований и TDD для повышения качества кода, при этом за счет BDD они смогут выстроить более грамотную модель предметной области а за счет TDD эта модель будет менее связанной и более проработанной с точки зрения клиентскго кода

Igor
09.05.2018
14:56:08

Sergey
09.05.2018
14:56:44

Igor
09.05.2018
14:56:50

Sergey
09.05.2018
14:57:17
но знать список ты должен
и для чего они

Google

Sergey
09.05.2018
14:57:39
иначе велосипеды опять будут изобретать

Roman
09.05.2018
16:04:38

Sergey
09.05.2018
20:45:11
и именно это как по мне делает структуры идеальными dto)

Roman
09.05.2018
20:45:59
Есть там у нас ключевое слово ref..) И если почитать ченжлоги с 6 версии языка по 7.3, то там постоянно что-то добавляли на этот счёт)

Denis
09.05.2018
20:50:09
Комрады, а есть кто-нибудь кто со сваггером хорошо дружит? Забуксовал что-то

Roman
09.05.2018
20:51:49

Kirill
10.05.2018
08:24:42

Denis
10.05.2018
08:25:18

Kirill
10.05.2018
08:26:54
Не было такого таска у меня, а в чем загвоздка?

Denis
10.05.2018
08:27:40
не могу понять возможно ли это вообще. как описывать поля хедера

Sergey
10.05.2018
08:31:35

Denis
10.05.2018
08:32:59

Kirill
10.05.2018
08:33:52
Ну, как сказать - это opensource. Если очень надо, можно предложить PR в нужный проект)

Sergey
10.05.2018
08:36:34
хз, вроде как в RAML можно такие штуки делать, хотя бы за счет того что там есть возможность расширять схему и что она умеет.
а уже RAML компилить в сваггер при желании)

Kirill
11.05.2018
07:33:37
@fes0r, всё-таки уговорили выступить на fwdays?)

Sergey
11.05.2018
07:34:08

Kirill
11.05.2018
07:34:40
А, в процессе, хорошо)

Google

Roman
11.05.2018
08:10:26
Ребята, как считаете: от код ревью больше вреда или пользы?

Maksim
11.05.2018
08:12:03
странный вопрос)

Kirill
11.05.2018
08:12:27
Это точно. Не зря его придумали же?

Sergey
11.05.2018
08:12:41

Kirill
11.05.2018
08:12:52
но если у тебя проект однодневка, то вообще мало что для него нужно

Maksim
11.05.2018
08:13:05

Sergey
11.05.2018
08:13:11
если есть возможность заменить ревью кода парным программированием (или mob development) то в целом код ревью не нужен)

andretshurotshka?❄️кде
11.05.2018
08:13:43
mob?

Adel
11.05.2018
08:13:56

Sergey
11.05.2018
08:14:00
mob?
https://www.youtube.com/watch?v=8cy64qkgTyI

Maksim
11.05.2018
08:14:20

Sergey
11.05.2018
08:14:45
а что не нравится-то?
не эффективно, но может быть эффективнее других вариантов при определенных обстоятельствах

Adel
11.05.2018
08:15:06

Maksim
11.05.2018
08:15:13

Sergey
11.05.2018
08:15:15
но что-то подразумевающее что разработчики всегда смотрят код других разработчиков должно быть.

Roman
11.05.2018
08:15:57
На ревью обычно находят совсем мелкие ошибки, которые можно поправить в будущем, проходя мимо этого кода. Проблема в том, что ревьюер не находится в контексте задачи и понять всех компромиссов, которые были приняты во время разработки, не может.
Получается, что время тратиться на мелочи, а задача все весит, мастер уходит дальше, пользователи сидят без фичи, а программист постоянно переключается между контекстами: с разработки новой задачи, на исправление мелочей в задаче, которая на ревью.

Sergey
11.05.2018
08:16:05
если тебе надо ждать ревью день - это не эффективно. Если минут 10 - более-менее эффективно. Не надо ждать -> парное программирование

Google

Maksim
11.05.2018
08:16:17

Kirill
11.05.2018
08:16:35
На ревью обычно находят совсем мелкие ошибки, которые можно поправить в будущем, проходя мимо этого кода. Проблема в том, что ревьюер не находится в контексте задачи и понять всех компромиссов, которые были приняты во время разработки, не может.
Получается, что время тратиться на мелочи, а задача все весит, мастер уходит дальше, пользователи сидят без фичи, а программист постоянно переключается между контекстами: с разработки новой задачи, на исправление мелочей в задаче, которая на ревью.
Поиск поверхностных ошибок - это не ревью

Roman
11.05.2018
08:16:51
С ревью процесс разработки превращается в рваное не пойми что.
Лучший код мы в команде писали только во время парного программирования.

Sergey
11.05.2018
08:16:57
На ревью обычно находят совсем мелкие ошибки, которые можно поправить в будущем, проходя мимо этого кода. Проблема в том, что ревьюер не находится в контексте задачи и понять всех компромиссов, которые были приняты во время разработки, не может.
Получается, что время тратиться на мелочи, а задача все весит, мастер уходит дальше, пользователи сидят без фичи, а программист постоянно переключается между контекстами: с разработки новой задачи, на исправление мелочей в задаче, которая на ревью.
цель ревью не должна быть "найти ошибки", для этого у тебя есть тесты, проверка работы твоего кода, статический анализ и куча всего еще. Цель ревью - обмен знаниями

Maksim
11.05.2018
08:17:01
поиск ошибок в принципе - это не ревью, а тестирование)

Kirill
11.05.2018
08:17:07
Или совсем мелкие изменения?

Sergey
11.05.2018
08:17:21

Kirill
11.05.2018
08:17:35
Одну строку, если повезет, иногда
Ну, бывает по разному, если серьёзно

Roman
11.05.2018
08:18:01

Maksim
11.05.2018
08:18:15
к чему эта подмена понятий)

Roman
11.05.2018
08:19:31
У нас разные ментальные модели. Можете называть, как вам удобней.
Я называю ошибкой, потому что ревью часто похоже не на диалог коллег, а на диалог учитель - ученик в котором учитель всегда может найти ошибки

Sergey
11.05.2018
08:20:32

Maksim
11.05.2018
08:22:29
и с формулировкой "учитель -> ученик" согласиться не выходит