Size: a a a

Генератор непрочитанных сообщений

2020 October 28

AK

Alexander Kladov in Генератор непрочитанных сообщений
Евгений Ромашкан
Жесть
0. Заюзать cs fixer
1. protected поля!?
2. Тайпхинты для полей? Указание типов для полей?
3. Установку хедеров лучше в конфиг, хоть фабрику, хоть csa_guzzle какой-нить
4.
@return mixed
5. Что get()?
6.
return json_decode($response->getBody());
смапить бы на DTO и вернуть её
7. Обращения к конфигу из класса!? Пол класса обращения к конфигу!?
ну он учится, ему нужно постараться расписать почему
источник

С

Санжар in Генератор непрочитанных сообщений
Alexander Kladov
ну в конструктор будешь принимать не Guzzle\Client, а свой ClientInterface какой-нибудь
Чтобы в будущем могли использовать вместо Guzzle чето другое, implements мой Interface?
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
Санжар
Чтобы в будущем могли использовать вместо Guzzle чето другое, implements мой Interface?
тип того
источник

RV

Roma Vandolyak in Генератор непрочитанных сообщений
ну и если конфиг уже, то не нужно юзать env()
источник

RV

Roma Vandolyak in Генератор непрочитанных сообщений
лучше енв в коде помимо конфигов поменьше юзать
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
да в целом не стоит обращаться из клиентского кода к config/env
источник

RV

Roma Vandolyak in Генератор непрочитанных сообщений
ну и в целом от подобного вроде же нет толку )
      try {
           return json_decode($response->getBody());
       } catch (Exception $exception) {
           throw new Exception($exception->getMessage(), $exception->getCode());
       }
источник

С

Санжар in Генератор непрочитанных сообщений
Евгений Ромашкан
Жесть
0. Заюзать cs fixer
1. protected поля!?
2. Тайпхинты для полей? Указание типов для полей?
3. Установку хедеров лучше в конфиг, хоть фабрику, хоть csa_guzzle какой-нить
4.
@return mixed
5. Что get()?
6.
return json_decode($response->getBody());
смапить бы на DTO и вернуть её
7. Обращения к конфигу из класса!? Пол класса обращения к конфигу!?
про дто не думал, спасибо
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
Roma Vandolyak
ну и в целом от подобного вроде же нет толку )
      try {
           return json_decode($response->getBody());
       } catch (Exception $exception) {
           throw new Exception($exception->getMessage(), $exception->getCode());
       }
можно залогировать дополнительно
источник

RV

Roma Vandolyak in Генератор непрочитанных сообщений
Alexander Kladov
можно залогировать дополнительно
ну да, но логов там нет)
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
о, это тестовое
источник

ЕР

Евгений Ромашкан... in Генератор непрочитанных сообщений
Евгений Ромашкан
Жесть
0. Заюзать cs fixer
1. protected поля!?
2. Тайпхинты для полей? Указание типов для полей?
3. Установку хедеров лучше в конфиг, хоть фабрику, хоть csa_guzzle какой-нить
4.
@return mixed
5. Что get()?
6.
return json_decode($response->getBody());
смапить бы на DTO и вернуть её
7. Обращения к конфигу из класса!? Пол класса обращения к конфигу!?
0: cs fixer понятно наверное
1: protected не нужны потому что наследование не нужно
2: Ну типы надо ставить
3: Ой, это ж ещё и не симфа наверн. Вобщем хедерами в идеале пусть хттп клиент сам рулит, и они задаются где-то в конфиге, но это ещё +- норм, ок
4:  Ну return mixed ни о чем, нужна DTO
5: getWeather, хотя бы, я бы и сам класс переназвал бы как-нибудь без суффикса service, мол YandexWeatherClient
6: Нужна DTO с проставленными типами, и маппинг результата на неё. Хоть ручками, хоть через сериалайзер какой, чтобы во первых было видно что возвращается и как с этим работать, во вторых проверялось хотя-бы в рантайме. Сейчас неясно что возвращается + будет боль если апиху сломают, потому что упадёт в коде даже не клиент к апихе, а какой-то класс работающий с респонсом
7: Ну из конфигов надо либ собрать структурку(DTO) и прокинуть в конструктор, либо просто в классе захардкодить, это ж параметры апихи, они не будут переиспользоваься
источник

С

Санжар in Генератор непрочитанных сообщений
Alexander Kladov
о, это тестовое
+
еще тут кучу всего крутого
https://github.com/Hexlet/ru-test-assignments
источник

ЕР

Евгений Ромашкан... in Генератор непрочитанных сообщений
Постарался добавить пояснений
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
Евгений Ромашкан
Постарался добавить пояснений
норм
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
@forszaken давай удаляй и по новой с учетом замечаний
источник

С

Санжар in Генератор непрочитанных сообщений
Евгений Ромашкан
0: cs fixer понятно наверное
1: protected не нужны потому что наследование не нужно
2: Ну типы надо ставить
3: Ой, это ж ещё и не симфа наверн. Вобщем хедерами в идеале пусть хттп клиент сам рулит, и они задаются где-то в конфиге, но это ещё +- норм, ок
4:  Ну return mixed ни о чем, нужна DTO
5: getWeather, хотя бы, я бы и сам класс переназвал бы как-нибудь без суффикса service, мол YandexWeatherClient
6: Нужна DTO с проставленными типами, и маппинг результата на неё. Хоть ручками, хоть через сериалайзер какой, чтобы во первых было видно что возвращается и как с этим работать, во вторых проверялось хотя-бы в рантайме. Сейчас неясно что возвращается + будет боль если апиху сломают, потому что упадёт в коде даже не клиент к апихе, а какой-то класс работающий с респонсом
7: Ну из конфигов надо либ собрать структурку(DTO) и прокинуть в конструктор, либо просто в классе захардкодить, это ж параметры апихи, они не будут переиспользоваься
спасибо!
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
это же не реальное тестовое?
источник

С

Санжар in Генератор непрочитанных сообщений
Alexander Kladov
@forszaken давай удаляй и по новой с учетом замечаний
ну да, сейчас переделаю и закомитю
источник

С

Санжар in Генератор непрочитанных сообщений
Alexander Kladov
это же не реальное тестовое?
нет
источник