Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Call CreateCall(PhoneNumber dstNum, CountryCode from) { ... }
...
c = CreateCall(user.num, user.country);На моих основных языках compile-time по сути отсутствует
единственной ответственностью которого будет хранение допустимого значения
amount >= 0 && amount <= this.limit на две в разных объектах?amount >= 0 в примитив. Такие типы ведь включают в себя ещё и значения по умолчанию, сообщения об ошибках. Дальше не придётся тащить это всё за собой в каждый класс, а можно будет просто повторно использовать. В случае если вплавлять эти проверки в класс, то мы сможем реюзать это только наследуюясь.amount >= 0 и amount <= this.limit редко когда должны проверяться совместно.if ($amount < 0) {
throw new NegativeAmountException;
} elseif ($amount > $this->limit) {
throw new LimitOutAmountException;
}
Счет с превышенным лимитом недопустим также — если появляется эксепшен об этом, то это повод для совместного расследования СБ и ИТ.А каким будет состояние счета в процессе проведения проверки? Сможет ли клиент такой кредит погасить до ее окончания? Будут ли ему начислены проценты за то время, когда он не мог погасить кредит из-за длящейся проверки?
class phone_number : public string { }
class FileHandle { public: uint32_t handle; }
«Запах» проектирования: одержимость примитивами