@oop_ru

Страница 718 из 785
Evgeniy
19.08.2018
11:42:25
вот эти проверки тоже доставляют https://github.com/alfredleo/shelter/blob/master/local/shelter/Shelter.php#L94

ну это все имхо

Alfred
19.08.2018
11:43:31
Это если удалять животных в конце будет ошибка

Защита

Google
Evgeniy
19.08.2018
11:43:52
тут немного речь о другом

я понимаю зачем но почему за всем этим следит приют ?

Alfred
19.08.2018
11:45:37
Логика вся на приюте

Это типа журнала приюта

Нельзя кидать ошибку если у приюта пустой журнал

Evgeniy
19.08.2018
11:47:20
зачем столько проверок ?

Вадим
19.08.2018
11:47:26
Pet - интерфейс это да, но вот нужен ли AbstractPet...
Ну если одинаковая реализация всюду, то почемубы и нет. Все и так на интерфейс завязано. Хоть трейтом можешь сделать, его в любой момент можно выбросить

Evgeniy
19.08.2018
11:47:26
тебе достаточно одной проверки

Alfred
19.08.2018
11:49:14
В данном случае при удалении другие массивы ругались

Будет одна проверка когда будет один массив

Evgeniy
19.08.2018
11:49:53
суть твое проблемы что ты слишком много хранишь

избыточно

и проверяешь все свои вспомогательные структуры, это опять же имхо

Google
Evgeniy
19.08.2018
11:51:07
тебе никто не запрещает внутри приюта юзать коллекцию

которая умет делать группировку и сортировку

через композицию

или весь приют можно сделать простой коллекцией даже имутабельной

Denis
19.08.2018
11:52:41
Будет одна проверка когда будет один массив
тестовое задание случаем не для питерской компании?)

Alfred
19.08.2018
11:54:23
да

мне просто не пояснили что не так. Решил разобраться, что думает общественность

Chupa
19.08.2018
11:55:37
не devjs случаем?

Alfred
19.08.2018
11:56:50
Я так понимаю, тебя туда не взяли?
да, я попросил дать пояснение

Evgeniy
19.08.2018
12:00:52
имхо для прохождения тестового задания взял бы либу реализующую простую коллекцию (чтобы не хранить в массиве потому что там все кишки наружу) в приюте сделал бы 1 фильтр функцию (по типу) и одну для сортировки (по имени) и просто бы композицию

и тогда получение бы выглядело бы примерно вот так

Alfred
19.08.2018
12:02:29
по задаче должно быть голое пхп

Evgeniy
19.08.2018
12:03:16
getByType return $this->collection->filter(self::filterByType)->order(self::orderByName);

getFirstByType return $this->collection->filter(self::filterByType)->firstOrNull();

getFirst return $this->collection->firstOrNull();

Alfred
19.08.2018
12:04:34
задача от компании фотосклад.ру. это задание для junior developer

Evgeniy
19.08.2018
12:05:11
ну написал бы отдельный объект с двумя методами filter и order

и first

Google
Evgeniy
19.08.2018
12:06:41
если бы сам делал коллекцию можно было выебнуться имутабельной коллекцией и на собеседование за имутабельность поговорить

Вадим
19.08.2018
12:07:04
ну написал бы отдельный объект с двумя методами filter и order
И потом еще обвешать спецификациями ;))) И получить https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition

Evgeniy
19.08.2018
12:10:08
И потом еще обвешать спецификациями ;))) И получить https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition
коллекция это просто возможность писать более красиво в данном случае, любишь хардкод пишешь на array_* функциях они все есть

и те кто сортирует и фильтруют

просто выглядеть будет так себе

поэтому чтобы не работать с ними имутабельная коллекция была бы плюсом имхо

Вадим
19.08.2018
12:11:34
коллекция это просто возможность писать более красиво в данном случае, любишь хардкод пишешь на array_* функциях они все есть
В данном случае имхо коллекция излишня, тем более это все внутри, никаких кишков наружу. В любой момент можно подменить реализацию, если будет нужно, без проблем для клиентского кода.

Вадим
19.08.2018
12:12:20
Evgeniy
19.08.2018
12:12:29
в отдельный объект и там можно как курица лапой что угодно написать

А чем массив не коллекция?
отсутствием методов по работе с коллекцией

Evgeniy
19.08.2018
12:13:03
и работа через функции

и там их довольно много и некоторые мутабельные

Вадим
19.08.2018
12:13:17
и работа через функции
А что плохого в функциях?

Evgeniy
19.08.2018
12:13:39
я написал выше про функции и про то что некоторые из них мутабельные

А чем массив не коллекция?
и еще смотря какие термины использовать для коллекций где то есть такое понятие что там filter, map и тд должно быть

Admin
ERROR: S client not available

Google
Aleh
19.08.2018
12:15:12
В пыхе низя полиморфизм делать с функциями

еще нельзя записать тип для функции

Evgeniy
19.08.2018
12:15:54
в пыхе мало что можно делать (

Aleh
19.08.2018
12:16:01
А еще сраный порядок аргументов

Evgeniy
19.08.2018
12:16:06
стрелять в ногу

Вадим
19.08.2018
12:16:07
Aleh
19.08.2018
12:16:36
Зачем он в этой задаче?
Замени коллекцию in-memory на персистентную

Evgeniy
19.08.2018
12:18:13
Замени коллекцию in-memory на персистентную
да подумаешь питомник будет читать преобразовывать и создавать новую коллекцию на массивах а потом в конце надо вызвать метод persist который все сохранит

Вадим
19.08.2018
12:18:15
Замени коллекцию in-memory на персистентную
В данной задаче этого нет. Потому я бы сделал через массив, появилась бы задача сделать возможность сохранять стейт, внедрил бы коллекции

Evgeniy
19.08.2018
12:18:18
подумаешь

Evgeniy
19.08.2018
12:18:56
В данной задаче этого нет. Потому я бы сделал через массив, появилась бы задача сделать возможность сохранять стейт, внедрил бы коллекции
никто не говорит что через массив плохо, просто если ты понял что условия задачи сводятся к коллекции

не плохо бы это в коде показать

Evgeniy
19.08.2018
12:19:54
Ну массив та же коллекция ;) я к этому ;)
я не отрицаю что в некоторых случаях можно юзать и твое решение бы прошло скорей всего ну или они растяпы

Вадим
19.08.2018
12:20:12
Evgeniy
19.08.2018
12:20:19
Вроде есть
там только о solid была речь((

И если можно задачу не усложнять, то и не нужно ее усложнять ;)
никто не говорит что нужно усложнять просто мне было бы проще показать на коллекциях чем вспоминать какая из функций должна юзаться для сортировки

Google
Aleh
19.08.2018
12:21:02
там только о solid была речь((
Ну думать про солид изначально гиблое дело для таких задач, потому что нет понимания потока изменений

Evgeniy
19.08.2018
12:21:18
помыслить об абстрактных конях

а потом на работе гавно кодить на вордпрессе)

Aleh
19.08.2018
12:22:20
Ну вот, обычная пыховская задача - пробрасывать эти объектики в базу из реквеста и обратно

Alfred
19.08.2018
12:22:28
не вордпреса там нет.)

Artem
19.08.2018
12:24:26
не вордпреса там нет.)
зато есть yii :D И потом, там может быть, скажем, битрикс

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