
Алексей
01.11.2017
13:11:22
Из делфи в пхп
Любитель фаулера

Alexandr
01.11.2017
13:11:32
лол

Алексей
01.11.2017
13:11:35
А сам по себе ПОООЛЛЛННЫЫЙЙ дебил

Google

Алексей
01.11.2017
13:11:45
Монолог может 3 дня прикручивать

Andrey
01.11.2017
13:11:48
ладно, перегибаем
но я думаю, что зашквар инвалидировать типа, что он только пхп знает

Алексей
01.11.2017
13:12:05
Он к нам пришел вместе с легаси кодом

Dmitry
01.11.2017
13:12:24
ну так монолог в легаси код можно и 10 дней прикручивать ;)

Roman
01.11.2017
13:12:33
Ребята, этот чат все-таки больше по симфони, может перестанем холиварить?

Алексей
01.11.2017
13:13:01
Он сам легаси
его никто увольнять не хочет
Легаси дельфист 45+ лет
Пхп устанавливает используя запрос в гугле "Скачать ПХП бесплатно"
И работает на винде через виртуалку с убунтой
Простите накипело

Google

Sergey
01.11.2017
13:14:23
а при чем это к фаулеру?

Алексей
01.11.2017
13:14:45
он фанат фаулера
Цитирует ходит его
Ваажно так
Что дает чтение фаулера7

Dmitry
01.11.2017
13:16:04
Знания оно дает, знания.

Алексей
01.11.2017
13:16:36
какие?
Имхо - знания дает не теория
а практика

Dmitry
01.11.2017
13:16:57

Dmitry
01.11.2017
13:17:03
Практика дает закрепление знаний

Roman
01.11.2017
13:17:04
какие?
Практика без теории - томительный путь.

Алексей
01.11.2017
13:17:14
Бизнесу не нужны теоретики

Andrey
01.11.2017
13:17:30
Процитирую хорошее.ит

Dmitry
01.11.2017
13:17:31
Алексей, можно угадаю... высшего у вас нет? ;)

Roman
01.11.2017
13:17:50
а практика
Если тебе не повезло с таким коллегой и с тем, что цитаты фаулера его единственная отдушина, то что тут поделаешь

Алексей
01.11.2017
13:17:58

Bohdan
01.11.2017
13:18:13
второе имхо
практика - это важно, но практика, подкрепленная теорией (постфактум) - на порядок круче

Алексей
01.11.2017
13:18:31

Dmitry
01.11.2017
13:18:37
Бизнесу не нужны теоретики
разобраться с синтаксисом языка не так сложно, а вот уметь строить хорошие архитектуры, это в разы сложнее

Google

Bohdan
01.11.2017
13:18:48
сначала надо научиться, как делать
а потом - как делать правильно

Dmitry
01.11.2017
13:19:11

Sergey
01.11.2017
13:19:12
Что дает чтение фаулера7
способы рефакторинга, что рефакторить, как рефакторить. как плохой код обнаруживать и почему он плохой
архитектурные вопросы. у человека не возникнет вопросов что такое Identity Map, UoW, чем отличается DM от AR и тд
интеграционные. каким хреном связывать приложения, паттерны сообщений, какие варианты и для чего и тд
ты конечно можешь почитать об этом в бложиках, посрашивать людей в чатиках и кое-как собрать всю эту инфу, но она будет сильно фрагментирована

Andrey
01.11.2017
13:19:42
Ладно, не процитирую. Фаулер без практики - ну я теорию знаю, а как это сделать - нет

Алексей
01.11.2017
13:20:13

Alexandr
01.11.2017
13:20:21
фаулер ... паттерны ... тут regexp validator на пустых строках не работает (

Sergey
01.11.2017
13:20:22

Alexandr
01.11.2017
13:20:23
https://github.com/symfony/symfony/blob/a4d7843a2bd1306a856e259b578c52c7acaf5048/src/Symfony/Component/Validator/Constraints/RegexValidator.php#L35

Алексей
01.11.2017
13:20:34
Ну хуй знает. У каждого свой путь

Sergey
01.11.2017
13:20:37
если человек это читал, это большой плюс

Алексей
01.11.2017
13:21:00

Arky
01.11.2017
13:21:06

Dmitry
01.11.2017
13:21:22
"по фаулеру" быть и не может, "фаулер" - это набор идей, из которых ты можешь выбрать подходящее

Алексей
01.11.2017
13:21:37

Dmitry
01.11.2017
13:22:19

Alexandr
01.11.2017
13:22:34
можно, но костыль же

Dmitry
01.11.2017
13:22:51
Почему?

Andrey
01.11.2017
13:22:59

$iD
01.11.2017
13:23:08

Google

Andrey
01.11.2017
13:23:14

Alexandr
01.11.2017
13:23:49
потому что если я использую регулярное выражение /^\d+$/, то в нем уже заложено то, что строка не пуста ... нафига мне делать ещё одну проверку?)
неочевидная неочевидность

Andrey
01.11.2017
13:24:25
Увы, тоже раньше задавался этим воп.

Dmitry
01.11.2017
13:25:03
Потому что "проверить значение на формат" и "значения нет" - разные вещи

Andrey
01.11.2017
13:25:23
Да не, логика есть, существуют такие констрейнты которые вообще непонятно как должны работать на пустой строке, и чтоб у всех у них было одинаковое поведение сделали так, например

Dmitry
01.11.2017
13:26:35
Заставляет отдельно описать - что значение обязательно, и отдельно - какого оно должно быть формата... хз, для меня очевидна необходимость такого разделения ;)

Alexandr
01.11.2017
13:26:38
хм ... если логика есть, то я её не понимаю) ... констрейнты разные ... поведение разные (на непустых строках) ... с чего вдруг это поведение должно быть одинаково на пустых строках?) ... причем поведение, при котором констрейнт просто игнорируется

Andrey
01.11.2017
13:26:52
И это только в твоем конкретном кейсе не совсем удобно
Если у меня есть поле для ссылки на гитхаб, и оно в профиле опционально, то если чувак его не введет то регексп свалится с ошибкой

Admin
ERROR: S client not available

Andrey
01.11.2017
13:27:21
и че мне делать?

Alexandr
01.11.2017
13:28:26
есть разница между пустой строкой и отсутствием значения ... пустая строка - должна сваливать регексп, потому что это вполне себе значение, но условию не удовлетворяет ... если же значения нет, то в переменную попадёт null и ради бога, пусть регексп его игнорирует )

Andrey
01.11.2017
13:28:49
ну попробуй передай нулл из формы

Dmitry
01.11.2017
13:30:02
ну да, в реальности - разделение на null и пустую строку будет мешать

Andrey
01.11.2017
13:30:18
в том то и дело

Alexandr
01.11.2017
13:30:38
что бы на это сказал Фаулер?))

Andrey
01.11.2017
13:31:04
сказал бы добавь иф епта))
на самом деле оч удобное разделение, и NotBlank надо читать как Required
если б его не было, ты б разбрасывал по коду костыли типа если передали поле, то прогони плиз валидаторы, если нет, то пох

Google

Andrey
01.11.2017
13:33:46
ну, на необязательных полях
если воспринимать NotBlank как Required то становится понятна логика всех этих констрейнтов

Vladislav
01.11.2017
13:37:25
нот бланк сразабывает если есть такой ключ в request

Andrey
01.11.2017
13:37:57
Ну это нюансы
Ты же понял о чем я)

Vladislav
01.11.2017
13:38:05
NotNull
это required

Andrey
01.11.2017
13:38:47
Ок если я передам пустую строку то Александр все равно будет расстраиваться что у него регексп не отрабатывает

Vladislav
01.11.2017
13:39:05
NotNull + NotBlank

Andrey
01.11.2017
13:39:12
Ага

Alexandr
01.11.2017
13:39:13
конечно, расстройство - двигатель прогресса )

Andrey
01.11.2017
13:39:35
Так что я про NotBlank сказал только в кейсе формы, в предположении что поля всегда есть и единственное что ты можешь сделать - передать поле пустым

Alexandr
01.11.2017
13:39:38
как вот сюда ещё одно условие добавить?)
@Rest\QueryParam(name="limit", requirements="^\d+$", nullable=true, default=null, strict=true)
это fos_rest если что

Vladislav
01.11.2017
13:40:07
напиши свой констрейнт
какое условие?
рэгэкспы или что?
если ты про пагинацию то \d+ достаточно

Alexandr
01.11.2017
13:41:01
мне нужно чтобы в плюс к этому регэкспу ещё и по пустой строке валилась проверка ... ?limit=
нужно, чтобы параметр limit можно было не указывать ... либо указывать валидное число (не пустую строку)

Vladislav
01.11.2017
13:41:58
allowBlank=false & strict = true

Alexandr
01.11.2017
13:42:19
с allowBlank=false не даёт опускать параметр