Каковы лучшие практики для проектирования по контрактному программированию.
В колледже я выучил дизайн по контрактной парадигме
(в ОО среде)
Мы изучили три способа решения проблемы:
1) Общее программирование: охватывает все возможные исключительные случаи в своем
эффект (ср. математика)
2) Номинальное программирование: только «обещает» правильные эффекты при выполнении предварительных условий. (иначе эффект не определен)
3) Защитное программирование: использовать исключения для сигнализации о недопустимых вызовах методов
Теперь, мы сосредоточились в различных OO-сценариях на правильном использовании в каждой ситуации, но мы не научились КОГДА использовать ЧТО ...
(В основном это тактика, основанная на упражнении ..)
Теперь я думаю, что очень и очень странно, что я не спросил своего учителя (но опять же, во время лекций никто не спросил)
Лично я сейчас никогда не использую номинальное и склонен заменять предварительные условия исключениями (поэтому я скорее использую: throws IllegalDivisionByZero, чем констатирую «предварительное условие: делитель должен отличаться от нуля) и только общее значение программы, что имеет смысл (поэтому я бы не стал» не возвращает обычное значение при делении на ноль), но этот метод основан только на личных выводах и лайках.
поэтому я прошу вас, ребята:
Есть ли лучшие практики?