Хорошо ли: функция возвращает несколько типов данных?

Я пишу функцию которая будет возвращать либо массив либо null (если массив пуст).

Это хорошая практика? Или лучше сделать чтобы всегда возвращала только массив?

Спасибо!
  • Вопрос задан
  • 2320 просмотров
Пригласить эксперта
Ответы на вопрос 5
@siptik
php developer, freelancer, Web-studio owner
Пyстой массив -это тоже данные, которые ничем не отличается от массива с элементами. В нем просто 0 элементов.
Если ваш массив использyется как коллекция однотипных элементов, то я бы использовал пyстой массив, даже если записей нет.
Если массив есть некая стрyктyра, то я бы возвращал null если элемент не найден или этот же массив если найден
Например полyчение одной строки из базы.

$list->getFirst();
Вернет null если не сyществyет элемента
Ответ написан
Комментировать
Zoominger
@Zoominger
System Integrator
либо null (если массив пуст).

Лучше возвращать 0 или -1 в виде int или error в виде string, чтобы программисту, который будет это юзать, не пришлось писать обвязку самому.
Ответ написан
daemonhk
@daemonhk
ПсиХоПат
По всяким там PSR функции вроде один тип данных должны возвращать
Ответ написан
Комментировать
@abbrakadabbra
Если ожидается массив, то должен быть возвращен массив. Никаких других типов, лучше не возвращать, чтобы не делать дополнительных проверок.
Ответ написан
Комментировать
bestxp
@bestxp
Какой интерфейс сделаете такой и будет, null это отсутствие данных, если язык php то вернуть можно и nullable даже со строгой типизацией, да и говорить о проектировании сложно, так как это может быть массив, а на самом деле мапа, которую лучше описать обьектом, и тогда null будет обоснован
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы