
Sergey
19.03.2018
09:21:20
совет тебе как джуну - прекрати мыслить классами - это заведет тебя туда же куда заводит большинство других разработчиков. Важно смотреть не на содержимое "классов" а на то как объекты, пораждаемые этими классами взаимодействуют между собой. Это самое важное. А так - если ты говнишко закрыл красивым интерфейсиком (в широком смысле, публичные методы) то "и так сойдет".

Arthur
19.03.2018
09:21:54

Sergey
19.03.2018
09:22:23

Arthur
19.03.2018
09:23:02

Google

Sergey
19.03.2018
09:23:05
думай о объектах как о ролях, этот чел делает такие-то штуки, этот за то-то отвечает... мол надо тебе что бы кто-то что-то сделал - дернул метод (отправил сообщение) и таким образом попросил. Тот может и отказать)
сложнее с мотивацией

PowerAxis
19.03.2018
09:39:22

andretshurotshka?❄️кде
19.03.2018
10:50:31
А че его заминусили

Bohdan
19.03.2018
10:51:23
давай, перепиши свой фронт на расте
а если тебе не хватает там реакта - ну пофиг, допилят со временем, главное перепиши

Tex
19.03.2018
10:52:11
А че его заминусили
никто не любит радикалов, особенно когда они пытаются убедить людей в необходимости дополнительной работы на ровном месте

andretshurotshka?❄️кде
19.03.2018
10:52:40

Bohdan
19.03.2018
10:52:49

andretshurotshka?❄️кде
19.03.2018
10:53:03

Tex
19.03.2018
10:53:41

andretshurotshka?❄️кде
19.03.2018
10:53:48
А поддерживать плохой код норм типо?

Google

Bohdan
19.03.2018
10:54:04
business value разный
покажи мне бизнес, который скажет "да, давайте перепишем нашу 15-летнюю систему на расте, и пофиг, что там половину зависимостей придется пилить самим"

Tex
19.03.2018
10:54:43
А поддерживать плохой код норм типо?
всё зависит от того, сколько стоят дополнительные затраты на поддержку и на переписывание.
если код ну очень плохой и переписать ну очень легко (или не очень, но суть ты уловил) - переписываем.

Maksim
19.03.2018
11:10:11

andretshurotshka?❄️кде
19.03.2018
11:11:23

Maksim
19.03.2018
11:11:49

Aleh
19.03.2018
11:12:41

andretshurotshka?❄️кде
19.03.2018
11:12:45
лол

Bohdan
19.03.2018
11:15:19
по - моему дискуссия зациклилась

F01134H
19.03.2018
12:14:47
я конечно понимаю, что не совсем по теме. Но мб кто подскажет
так посаны
подскажите какой-нибудь пример описания задачи в таск менеджере
ну такой, средневыебанный
хочу видеть как правильно
а то у нас все задачи в духе "запилить название фичи" и в описание примерно то же самое
мне именно пример бы, а не нравоучения как правильно делать

Like
19.03.2018
12:15:27
> запилить название фичи
->
> Запилить название фичи

Bohdan
19.03.2018
12:16:02
-> Запилить название фичи.
ну зависит от того, как и кто задачу делегирует
я вон задачи заранее обсуждаю с заказчиком в скайпе и дальше зависит от пээма, перенесет ли она нормально обсуждение в скайп или послушается меня и запишет просто "запилить фичу" :D
а все потому, что меня в таких вопросах слушать не нужно

Aleh
19.03.2018
12:18:14
https://cucumber.io/docs/reference

Google

F01134H
19.03.2018
12:21:18

Aleh
19.03.2018
12:21:28
тебе да

F01134H
19.03.2018
12:21:31
спасибо)

Mykola
19.03.2018
14:56:07
ребятушки, я врываюсь к вам с умным вопросом
почему лучше включать, чем выключать?
например, почему лучше:
getUserWithPermissionsAndProfile()
чем
getUserWithoutAttachments()
к примеру эти две функции возвращают одно и то же
хочу от вас умного ответа, как дядя Фаулер завещал отвечать)

Bohdan
19.03.2018
14:59:50
тупой встречный вопрос: а разве это не определяется тем, что должен делать код?

Alexandr
19.03.2018
15:00:41

Mykola
19.03.2018
15:01:04
это не про совпадение, это про дизайн
With vs Without
включать или выключать

Bohdan
19.03.2018
15:01:32
ну не знаю
имхо дизайн идет от потребностей бизнеса
и если бизнесу нужно знать, у кого нет аттачтментов, а не то, у кого есть все, кроме аттачментов - было бы странно использовать первый твой метод вместо второго

Mykola
19.03.2018
15:01:57

Bohdan
19.03.2018
15:02:05
я не претендую на умный ответ)

Mykola
19.03.2018
15:02:20
бизнесу не надо знать, как у меня организован репозиторий

Bohdan
19.03.2018
15:02:34
а как же ddd, ubiquitous language?)

Mykola
19.03.2018
15:02:38
мне нужно убедить программистов не делать ерунды

Google

Aleh
19.03.2018
15:02:39
разработчикам надо по коду понимать как говорить с бизнесом
а по разговору с бизнесом понимать код

Mykola
19.03.2018
15:03:01
забудьте про бизнес

andretshurotshka?❄️кде
19.03.2018
15:03:05

Mykola
19.03.2018
15:03:20
если вы будете слушать бизнес как делать код, то будете в говне до конца дней колупаться

Sergey
19.03.2018
15:03:35

Mykola
19.03.2018
15:04:01
вот я и спрашиваю: лучше или нет?

Alexandr
19.03.2018
15:04:03
это вопрос из разряда, что лучше blacklist или whitelist ... и то и то нужно

f4rt~
19.03.2018
15:04:14

Alexandr
19.03.2018
15:06:26
я либо говорю, что мне нужно WITH то-то и то-то, остальное меня не волнует ... либо говорю, что мне нужно WITHOUT пофиг на все, главное чтобы вот этого не присутствовало

Sergey
19.03.2018
15:06:59
Ресурсов по умолчанию меньше жрет

Mykola
19.03.2018
15:07:06
ну кароч, вам паралельных примеров:
1.
<div class="my-widget curly-corners">
или
<div class="my-widget no-background">
2.
$framework->register(new MyPlugin());
или
$framework->registerAll();
$framework->disable('dev-tools')

Sergey
19.03.2018
15:07:21
Нет доп работы по структуризации доп данных.

Aleh
19.03.2018
15:07:36

Mykola
19.03.2018
15:07:47
это где?

Aleh
19.03.2018
15:07:53
это везде

Mykola
19.03.2018
15:07:58
во всех примерах первый случай - это отсутствие магии
второй случай - это ты фигачишь все подряд, и надеешься, что выключил лишнее
я могу сформулировать почему лучше включить, чем выключать, но я не могу по фаулеру...
хотя могу! это же нарушение SRP

Google

Mykola
19.03.2018
15:09:17
всем спасибо

Aleh
19.03.2018
15:09:30
это как оно нарушает srp?)

Mykola
19.03.2018
15:09:41
прямо же
если тебе надо что-то выключать, то твой обьект делает слишком многое
просто и легко

f4rt~
19.03.2018
15:10:08
хех

Aleh
19.03.2018
15:10:14
любой билдер нарушает srp?

Артур Евгеньевич
19.03.2018
15:10:15

Alexandr
19.03.2018
15:10:16
findWithoutAdminPriviliges - ну-ка, как это будет с включением?)

f4rt~
19.03.2018
15:10:29
а если объект выключает самого себя ?

Артур Евгеньевич
19.03.2018
15:10:44

Alexandr
19.03.2018
15:11:18
а потом добавляется ещё один тип пользователей и мы меняем название метода

Mykola
19.03.2018
15:11:56
билдер не нарушает, а дебилдер нарушает
класное слово я придумал?
:)
getFooWithBarAndBaz - это билдер
getAllWithoutBar - это как билдер, только наоборот
дебилдер