это плохо -
//Don't
if (order == null || order.customer == null || order.customer.address == null){
throw IllegalArgumentException("Invalid Order")
}
val city = order.customer.address.city
, а это хорошо -
//Do
val city = order?.customer?.address?.city ?: throw IllegalArgumentException("Invalid Order")
. У меня ооп головного мозга или это действительно выглядит немного страшно? Ведь могут появиться дополнительные условия/проверки и тогда 2 строка вырастет еще
Заказ с нулевым кастомером, кастомер с нулевым адресом, адрес с нулевым городрм — это ужасно, да. Видимо, просто для примера.
Обсуждают сегодня