I was having a discussion today about the way business rules are implemented. And large part of the discussion was focused on trying to get a specific behavior in a specific circumstance. As usual, I am going to use a totally different example, which might not be as brutal in its focus as the real one.
We have a set of business rules that relate to what is going to happen to a customer in certain situations. For example, we might have the following:
upon bounced_check or refused_credit: if customer.TotalPurchases > 10000: # preferred ask_authorizatin_for_more_credit else: call_the cops upon new_order: if customer.TotalPurchases > 10000: # preferred apply_discount 5.precentupon order_shipped:
send_marketing_stuff unless customer.RequestedNoSpam
What is this code crying for? Here is a hint, it is not the introduction of IsPreferred, although that would be welcome.
I am interested in hearing what you will have to say in this matter.
And as a total non sequitur, cockroaches at Starbucks, yuck.