
Anton Saprykin
13.04.2017
07:19:48
Конкурентов боится)

Любимый
13.04.2017
07:20:42
Было бы круто удаленку найти или свой проект запилить какой

Василий
13.04.2017
07:21:43

Любимый
13.04.2017
07:22:37
Ну одно, когда у тебя есть свободное время, а другое, когда ты с 6:30 утра просыпаешься и пердолишь на работу до вечера

Google

Василий
13.04.2017
07:22:43
полно саксес сторей же

Любимый
13.04.2017
07:22:48
Приходишь и уже неохота ничего делать хох

Василий
13.04.2017
07:23:11

Nadirq
13.04.2017
07:23:24
ну тут тебе никто ничего не посоветует. если не хочешь тухнуть - делаешь.

Любимый
13.04.2017
07:23:46
Таки да, но нужно побороть лень
Ее слишком много

Vadim
13.04.2017
07:23:52

Nadirq
13.04.2017
07:23:55
оффтоп уже

Любимый
13.04.2017
07:24:13
Ну таки да, хотя тут вопросов иногда днями не бывает

Василий
13.04.2017
07:25:53

Любимый
13.04.2017
07:26:20
spoсибо

Dmitriy
13.04.2017
07:35:09
херачь на работе

Google

Dmitriy
13.04.2017
07:35:18
а ныть мы все умеем

Любимый
13.04.2017
07:37:12
Ныть легче

Andrew
13.04.2017
07:43:32
если кто еще собирается на IPC - https://phpconference.com/egg-hunt-finale/
там в картинке код

0x9d8e
13.04.2017
09:56:32
Народ, подскажите по гиту. Юзал кто cherry-pick?
До некоторых пор в репозитории был бардак, всё летело в мастер и на прод, порой, нельзя было выгрузить ни одной версии оттуда, только руками вытягиват что-то стабильное без коммитов с недоделанными/не тестированными фичами. Короче ад.
Решил разбить это дело на develop, release, master. Но из-за тормозов в коммуникации один фронтендер накидал кучу коммитов в мастер. Прямо сейчас это пофиг, но они таким образом не вошли в develop, а это уже плохо. Из гитовых доков не очень понял как юзать cherry-pick, поэтому хотел зающать его из штормового интерфейса.
Переключаюсь на develop, открываю лог, выбираю один из коммитов в мастере, жму ? , облом:
12:43 Cherry-pick failed
4dc6603 если не выбрана марка, модель, модификация - отображается placeholder в селектах "Выберите"
Your index file is unmerged.

Dinar
13.04.2017
10:00:04
git cherry-pick <commithash> в той ветке, в которую хочешь подтянуть.

0x9d8e
13.04.2017
10:10:57

Aleh
13.04.2017
10:11:48
запретите пуш в мастер
и вообще, пускай каждый в своей ветке работает

0x9d8e
13.04.2017
10:12:29
В глаза долюблюсь: проблема была в том, что был несмердженный конфликт в индексе
Пуш в мастер один хрен нужен хотя бы для хотфиксов
А свои ветки от develop должны бы почковаться и туда же сливаться

Aleh
13.04.2017
10:13:39
хотфиксы можно тоже в ветку, а потом PR мержить

Василий
13.04.2017
10:13:48

0x9d8e
13.04.2017
10:13:48
А, точно

Evgeniy
13.04.2017
10:13:56
жаль ее не было очень давно

Mr
13.04.2017
10:31:53
Кто нибудь работает с Kleopatra?

Evgeniy
13.04.2017
10:52:18
кстате сразу небольшое замечание у тебя namespace Zephir\Composer; а на packages другой vendor name serafim соответственно если vendor zephir создаст пакет composer то может получится конфликт имен
но это имхо, я просто namespace начинаяю только с тех вендоров что зарегистрированны мной на packagist :D

Google

Artem
13.04.2017
12:59:23
Кто как именует методы в коде? Есть варианты.
*Первый вариант*
public function couldBeStarted()
Здесь предполагается, что мы пропустили it и полное предложение было бы "it could be started". пропущенное it справедливо, т.к. мы объявляем метод внутри класса и название класса и является "it".
*Второй вариант*
public function canStart()
В этом случае мы пропускаем слово I и полное предложение было бы "i can start", что говорит об обтождествлении разрабочика с программой, например. Странный кейс.
Как вы бы назвали метод, который делает проверки может ли быть начат какой-то процесс? Возвращается bool. Варианты:
* couldBeStarted()
* canStart()
* isReadyToStart()
* isStartable()
* другое

Sergey
13.04.2017
13:00:38
if($it->canStart())

Aleh
13.04.2017
13:01:01
is/can в зависимости от того, как вы про это говорите
в случае действия скорее can

Artem
13.04.2017
13:01:42

Sergey
13.04.2017
13:01:46
$it->supports($a)
$it->isStarted()

Ильдар
13.04.2017
13:01:50
isCanStart

Aleh
13.04.2017
13:02:00
неее)
у Сергея норм да

Sergey
13.04.2017
13:02:08
русинглишь какой-то)
is it started
can i start it
could it be started

Ильдар
13.04.2017
13:03:36
$it->isStarted()
Да, так лучше

Sergey
13.04.2017
13:03:50
isStarted это проверка запущен ли сейчас

Андрюха (Ren)
13.04.2017
13:04:11
$it->startanulska();

Artem
13.04.2017
13:04:14
кстати по поводу $it->isStarted()
я активно втыкал is тоже
сейчас сократил до $is->started()
if ($it->started())

Sergey
13.04.2017
13:04:37
еще бы скобки убрать

Artem
13.04.2017
13:04:45
ага

Sergey
13.04.2017
13:04:56
но методы не стоит так называть, которые геттеры для булевых полей
всякие доктрины и property accessors используют конвенции такие по именованию

Google

Василий
13.04.2017
13:07:19

Evgeniy
13.04.2017
13:30:08
isStarted говорит запущенно ли сейчас
isStartable говорит может ли быть оно запущенно (но не факт что уже не запущенно)
имхо


Artem
13.04.2017
13:31:10
я остановился на canBeStarted(), т.е. на пассиве
$obj->canStart() говорит о том, что $obj может что-то запустить
$obj->canBeStarted() говорит о том, что $obj можно запустить

Aleh
13.04.2017
13:33:16
ну метод ж тоже будет $obj->start()

Admin
ERROR: S client not available

Aleh
13.04.2017
13:33:29
т.е. как-будто он сам себя начнет)
про это у Лармана было, мы объекты наделяем способностями, как-будто они сами это делают
window.open, dao.save и т.д.

Evgeniy
13.04.2017
13:38:00
имхо $obj->isStarted() как то более привычно, но это имхо твой выбор тоже норм
главное чтобы тебе нравилось и код писался

Artem
13.04.2017
13:39:35
поэтому, видимо, у canBeStarted норм вариант

Aleh
13.04.2017
13:40:22

Sergey
13.04.2017
13:40:25
уж лучше чем в коде перлы типа isStart, isCanStart, canStarted (примеры из проекта)

Aleh
13.04.2017
13:40:52
ну да, писать правильно это первый шаг ))

Google

Василий
13.04.2017
13:42:23
с ProtoBuf работает кто?

Artem
13.04.2017
13:42:51

Aleh
13.04.2017
13:43:06
ну они и не объекты в общем-то)
не "объекты"

Artem
13.04.2017
13:43:15
ок, VO

Aleh
13.04.2017
13:43:27
а VO сами в себе логику совершают
например теже money
там есть всякие сплиты и прочее
add, subtract

Artem
13.04.2017
13:43:49
думаю и так понятно, что есть объекты, которые совершают действия над другими объектами

Василий
13.04.2017
13:44:40

Artem
13.04.2017
13:44:45
ну, опять же дискусионно. VO больше для immutable, чем для логики

Aleh
13.04.2017
13:45:00
ну это такой философский, есть всякие координаторы, которые просто знают, что в этом процессе надо нескольким объектам вместе что-то сделать
таже дата

Василий
13.04.2017
13:45:12
с хрена ли?

Aleh
13.04.2017
13:45:21
или money, или HumanName
они грубо говоря сами над собой операции совершают

Artem
13.04.2017
13:46:22
я не очень понимаю, но спс за мнение

Василий
13.04.2017
13:46:50

Aleh
13.04.2017
13:47:02
у каждого объекта есть набор операций, например у Money пусть будут add, subtract и split
и объекту кто-то говорит, а поделись-ка на 5 частей