
Aleh
20.12.2016
20:50:15

Sergey
20.12.2016
20:50:30
с одним публичным методом (__invoke)

guga
20.12.2016
20:53:33
Я порой вас не понимаю :) что за invokable?

Google

Sergey
20.12.2016
20:54:02
$action = new RegisterUser();
$action($dto);
такое

guga
20.12.2016
20:54:36
это что-то из разряда di

Sergey
20.12.2016
20:54:54
нет, это что-то из разряда волшебных методов в php
http://php.net/manual/en/language.oop5.magic.php#object.invoke
ну тоесть где-то в контроллере у меня такое:
public function registerUserAction(RegisterUser $handler, RegisterUserRequest $dto)
{
$handler($dto);
}

guga
20.12.2016
20:59:10
Прикольная штука.

Sergey
20.12.2016
21:00:00
смотрю сейчас видос где Дядя Боб показывает свой проект
и гордо говорит "у меня тут ~90-95% покрытие кода тестами"

da horsie
20.12.2016
21:39:00

Sergey
20.12.2016
22:34:23
все в списке awesome-talks
https://www.youtube.com/watch?v=TWBDa5dqrl8
мотивирует

Google

Aleh
21.12.2016
12:10:35
насмотришься этих видосов
а потом страдаешь, когда пишешь :\

Sergey
21.12.2016
13:06:16
я вчера ночью написал кусочек проекта "по всяким видосам"
это неописуемое чувство когда ты написал поддерживаемый и читабельный код, который удобен просто и т.д. и ты понимаешь что замутить такой глобальный рефакторинг возможности пока нет и тебе завтра придется страдать с тем что есть
последний видос который я скидывал был в основном о интересном баге из-за которого умерли люди

Aleh
21.12.2016
13:08:10
ну там не юнит-тесты, а верификация нужна

Sergey
21.12.2016
13:12:04
ну в целом там алгоритм работал некорректно, но да, такие вещи юнит тестами не покрыть обычно
ну и находить их надо эксплорейшен тестингом

Alexander
21.12.2016
13:27:14

guga
21.12.2016
13:37:12
Вы вот прямо пишете по TDD / bdd как отцы основатели завещали?

Sergey
21.12.2016
13:37:57
и то немного
но сейчас думаю себя заставлять)
у нас в компании процессы и так построены так что ATDD/BDD идеально ложатся
просто никто не умеет в геркин или тесты

guga
21.12.2016
13:39:51
Т.е. прямо сначала тесты, а потом код?
А потом dummy код, который удовлетворяет тестам?

Aleh
21.12.2016
13:45:10
мой типичный флоу: тест, простой код, тест, простой код, аааа бля, остальной код
типичный, хаха

Roman ?
21.12.2016
13:46:20
приветствую
а что по написанию тестов вообще в принципе можно почитать?

Google

Aleh
21.12.2016
13:46:29
Кента Бека
мой типичный флоу: тест, простой код, тест, простой код, аааа бля, остальной код
просто вот начинаешь писать тесты, структура уже так себе, ты рыдаешь пытаешься править, падают тесты, правишь, психуешь, вставляешь костыль, едешь дальше
а понять где свернул не туда не получается :((

Roman ?
21.12.2016
13:48:01

Aleh
21.12.2016
13:48:57
утешаю себя тем, что скоро научусь)

guga
21.12.2016
13:52:16
Ну они хотя бы есть ?

Rodion
21.12.2016
13:52:26
при работе с behat приходится намеренно стараться не писать функциональные тесты
а именно приемочные

Aleh
21.12.2016
13:52:44

Rodion
21.12.2016
13:53:01
для этого на gherkin их должен писать заказчик или QA в идеальном мире)

Aleh
21.12.2016
13:53:15
оунер, qa и девелопер
и да, строишь dsl

Rodion
21.12.2016
13:53:42
??

Aleh
21.12.2016
13:53:58
не заказчик и qa, а заказчик, qa и девелопер
втроем

Sergey
21.12.2016
13:54:14
gherkin это не цель, это просто формат записи обсуждения фич

Ilia
21.12.2016
13:54:15

Google

Aleh
21.12.2016
13:54:22
это идеальный мир кукумбера

Sergey
21.12.2016
13:54:29
и сила земпли

Aleh
21.12.2016
13:55:02
а потом к следующему митингу это уже в геркин просто переписали

Sergei
21.12.2016
18:30:23
Разъясните для тех кто в танке - что такое "геркин"?

Максим
21.12.2016
18:31:56
https://habrahabr.ru/post/275013/

Aleh
21.12.2016
20:15:17

Sergei
21.12.2016
20:15:35
Спасибо.
Читаю.

Ilia
21.12.2016
20:33:38

Aleh
21.12.2016
20:34:01

Ilia
21.12.2016
20:38:02
В статье все верно написано)) говорю как тестировщик пишущий на геркине. Единственное место которое теряется, юзер стори (юз кейс), именно эта вещь является для всех троих общей и полезной инфой!

da horsie
22.12.2016
11:26:24
Я решил поупражняться в ООП. В чем у меня проблемы? https://github.com/f3ath/release-notes-generator?files=1

dypa
22.12.2016
11:45:58
static, методы на кучу строк

Sergey
22.12.2016
11:48:15
Tags::fetchRemote($remote); вообще не в тему
процедурщина какая-то
fromGit который лезет в систему тоже не айс как-то

Aleh
22.12.2016
12:00:17
опиши use cases

Google

Sergey
22.12.2016
12:01:47
тестов бы

Aleh
22.12.2016
12:03:51

guga
22.12.2016
13:38:04

Aleh
22.12.2016
13:38:21

Sergey
22.12.2016
13:38:30
что тесту мешает быть кейсом?)

Aleh
22.12.2016
13:38:49

Sergey
22.12.2016
17:19:32
https://github.com/f3ath/release-notes-generator/blob/master/src/Git/Commit.php#L29
нарушено разделение ответственности и srp
https://github.com/f3ath/release-notes-generator/blob/master/src/Git/RevisionRange.php
легкое нарушение srp
короч как и у 99% программистов - от легкого до средней тяжести нарушение srp