@oop_ru

Страница 35 из 785
Sergey
20.12.2016
20:50:30
Функция или invokable
по сути это invokable класс

с одним публичным методом (__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% покрытие кода тестами"

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
ну в целом там алгоритм работал некорректно, но да, такие вещи юнит тестами не покрыть обычно

ну и находить их надо эксплорейшен тестингом

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

Sergey
21.12.2016
13:37:57
Вы вот прямо пишете по TDD / bdd как отцы основатели завещали?
я только видео живых людей которые так делают. Сам я немного могу в TDD и BDD. На коммерческих проектах практиковал только tdd

и то немного

но сейчас думаю себя заставлять)

у нас в компании процессы и так построены так что 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
Кента Бека
cпасибо

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 это не цель, это просто формат записи обсуждения фич

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

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

Aleh
21.12.2016
13:55:02
gherkin это не цель, это просто формат записи обсуждения фич
но вообще да, последний раз мы просто накидал сценарии при обсуждении и простыми фразами че да как

а потом к следующему митингу это уже в геркин просто переписали

но вообще да, последний раз мы просто накидал сценарии при обсуждении и простыми фразами че да как
накидали сценарии = дали им имена какие-то и краткое описание, потом по памяти на след. день или позже восстановил шаги геркином и еще раз глянули вместе позже

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
Разъясните для тех кто в танке - что такое "геркин"?
на пхп его юзает behat, в js/ruby cucumber. Для остальных не запоминал

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

Читаю.

Ilia
21.12.2016
20:33:38
на пхп его юзает behat, в js/ruby cucumber. Для остальных не запоминал
Кукмбер штук на 10 языков уже портирован.

Aleh
21.12.2016
20:34:01
Кукмбер штук на 10 языков уже портирован.
ну он там по-разному где-то называется, я не запоминал

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
Я решил поупражняться в ООП. В чем у меня проблемы? https://github.com/f3ath/release-notes-generator?files=1
https://github.com/f3ath/release-notes-generator/blob/master/src/Config.php#L4 в наследовании ))

опиши use cases

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

Aleh
22.12.2016
12:03:51
тестов бы
это следующий шаг

guga
22.12.2016
13:38:04
это следующий шаг
А должен быть первый :trollface:

Aleh
22.12.2016
13:38:21
А должен быть первый :trollface:
Не, вначале кейс, его описание

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

Страница 35 из 785