Введение предусловий (Introduce Assertion)
Полезность страницы:
0/100
Некоторый код работает при определенном состоянии программы.
Выполнять проверку этого состояния с помощью предусловия.
double getExpenseLimit() { // should have either expense limit or a primary project return (_expenseLimit != NULL_EXPENSE) ? _expenseLimit : _primaryProject.getMemberExpenseLimit(); }
double getExpenseLimit() { assert.isTrue (_expenseLimit != NULL_EXPENSE || _primaryProject != null); return (_expenseLimit != NULL_EXPENSE) ? _expenseLimit : _primaryProject.getMemberExpenseLimit(); }
Вместо того, чтобы строить предположения о результате какого-то выражения, важного для корректного выполнения последующего кода, можно описать класс предусловий и явно проверять значение этого выражения.
Предусловия в основном имеет смысл использовать на стадии отладки, убирая их в полностью отлаженной программе. Предусловия будут сами выдавать сообщения об ошибках, когда проверяемые условия не будут удовлетворять соответствующим условиям. Также люди, которые будут разбираться в коде, смогут лучше понять, при каких условиях какая часть кода работает.
Комментарии