169 похожих чатов

А что ты хочешь возвращать вместо null?

50 ответов

16 просмотров

"не найдено"

DK-K Автор вопроса
DK-K Автор вопроса
Asylmurat
"не найдено"

@mmazga , можно ему РО на денёк, пусть работает

Лучше возвратит или нульь обьект, или пустую модель, или резултать обьект. Например, ищем юзера, тогда возвращаем юзера $user = find($id) : User if($user->exist) { something } Вы могли часто встречать это в контроллерах, там возвращается Result. $result->success. Похожая логика здесь так же. Убиваем несколько зайцем. 1. Сохраняем единобразие - метод возвращает только один тип. Если метод возвращает несколько типов, стоит задуматься, иначе такими темпами можно прийти вообще в mixed 2. Легче проверят дальше по коду. Удобнее читать строчку $user->exist, чем $user !== null. 3. Раз назвались ООП, пож-та оперируйте обьектами. Раз ищете обьект, то и возвращайте обьект

DK-K Автор вопроса
Alma Z
Лучше возвратит или нульь обьект, или пустую модел...

мы ведь все рабы виденья Тейлора на разработку)

Alma Z
Лучше возвратит или нульь обьект, или пустую модел...

думаю совсем не аргумент, особенно про "можно прийти вообще в mixed"

Alma Z
Лучше возвратит или нульь обьект, или пустую модел...

?User - это один тип подобные вещи можно разделять семантически: метод find - делает поиск, соответственно поиск может завершиться двумя результатами: найдено или не найдено. добавляем метод get, который подразумевает обязательное существование сущности: return $this->find(int) ?? throw new Exception()

Alma Z
Лучше возвратит или нульь обьект, или пустую модел...

2. Легче проверят дальше по коду. Удобнее читать строчку $user->exist, чем $user !== null. ты сам веришь в это?)

DK-K Автор вопроса
Alma Z
null и User один тип?

например для других ЯП - да, Nullable User. И null для данного типа является одним из его значении. Но этот тип никогда не может принять объект другого типа

Alma Z
null и User один тип?

ну попробуй объявить переменную типа null)

Alma Z
Это вы про Java сейчас?

да хоть любой (Go, Kotlin, C#, C++, Swift)

Е .
да хоть любой (Go, Kotlin, C#, C++, Swift)

ебой... в го nil и структура это один тип. Ебой

Е .
в go все объекты nilable

в Go нет понятия "nullable" типов

Yernur Zeinullayev
в Go нет понятия "nullable" типов

ну ок, дефолтное (или нулевое) значение... думаю так правильнее? )

Е .
в go все объекты nilable

если придраться именно по английскому слову nilable, что означает может стать nil-ом, то все таки утверждение верно)) как говорить к int - zeroable

Alma Z
Лучше возвратит или нульь обьект, или пустую модел...

Вы сильно ошибаетесь. Возвращение null или объекта - это единственная правильная практика. ООП - это впервую очередь про объекты, если я кого-то (объект репозитория) попросил найти мне объект, и он не нашел, то он должен мне вернуть null, а не объект со свойством exist. В целом что это за свойство такое exist, какое оно отношение имеет к объекту, какой из признаков объекта оно описывает? 1. Единообразие - я не слышал про такой принцип, но примерно понимая, что вы имеете в виду, аргументирую так: null это состояние, а не образ, поскольку вы программируете императивную логику, то для вас основное значение имеет состояние, а потом уже образ. Поэтому возвращать null или объект не противоречит никакой логике; 2. По свойству exist и про легкость проверки я уже выше аргументировал, внедрение свойства exist нарушает принцип объектно-ориентированного моделирования; 3. ООП - это не везде и всюду объекты - это моделирование правил взаимодействия объектов, если один из объектов просит другого что-то найти, и тот не нашел, то он не должен создавать объект и внушать ему, что он "не существует"

Bakhtiyar Gizzat
Вы сильно ошибаетесь. Возвращение null или объекта...

Но как бы решил ситуацию, когда репозиторий не может найти запрашиваемый объект?

Yernur Zeinullayev
Но как бы решил ситуацию, когда репозиторий не мож...

Если он искал и не нашел, то нулл. Если место где нужно искать заперто/недоступно/сгорело/затопило - exception

Abdul-Aziz M.
Вернуть нулл?

Вернуть null может быть логичным подходом, особенно если отсутствуют данные

Gairat
screenshot

🤣🤣🤣🤣

Yernur Zeinullayev
Вернуть null может быть логичным подходом, особенн...

Там где вызывается функция, должны быть эксепшны и тп

Gairat
screenshot

почему сравниваете с untyped nil? )) а не kek123 != nil

Bakhtiyar Gizzat
Если он искал и не нашел, то нулл. Если место где ...

ну да это логично, если нет то нулл если ошибка при поиске то exception

Е .
почему сравниваете с untyped nil? )) а не kek123 !...

чтобы показать что структура и nil это разные вещи

Gairat
чтобы показать что структура и nil это разные вещи

без негатива) Ну во первых, никто так не говорил (что структура и nil это одно и тоже) Во вторых, именно в go без привязки к типу (указатель, структура, срез, интерфейс) nil не имеет смысла, так как он идентификатор пустого значения (или указателя) Если придираетесь именно к вопросу коллеги null и User один тип? и к моему ответу например для других ЯП - да, то имеется ввиду, что здесь null это один из значении (или состоянии) типа ?User

Е .
без негатива) Ну во первых, никто так не говорил ...

без негатива, я просто дал ответ на утверждение о том что структура и nil одно и то же)

Gairat
без негатива, я просто дал ответ на утверждение о ...

Я интерпретировал его утверждение что "они одного типа" (структура и нил) как: нил одно из значений. Но в основном вы правы

Е .
без негатива) Ну во первых, никто так не говорил ...

месье умеет переобуваться. Пригожин 2.0?

Alma Z
месье умеет переобуваться. Пригожин 2.0?

Сейчас бы сюда приплетать чувака виновного в кучи смертей

Alma Z
месье умеет переобуваться. Пригожин 2.0?

доводы в студию где я переобулся)

DK-K Автор вопроса
Е .
доводы в студию где я переобулся)

вас тут двое просто @urazymbetov @tzhmbtv

Е .
Я интерпретировал его утверждение что "они одного ...

и здесь написал про мое понимание ваших утверждении

Alexandr Dubickiy
Сейчас бы сюда приплетать чувака виновного в кучи ...

извините, за ситуцией не слежу. Видел в новостях как он хотел сначала марш справедливости, потому расхотел. Потому сказал, что он не то имел ввиду, когда говорил про марш справедливости и все его не так поняли. Если этот чувак делал ужасные вещи, то сравнение не корректное

Похожие вопросы

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
открыть папку в проводнике: 1 - ShellExecute 2 - ExecuteProcess 3 - OpenDocument что лучше выбрать?
Alexey Kulakov
12
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
9
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Карта сайта