4 ms·
Edge cases in the API (can pass null etc) and throwing an exception on programming errors are smells for me. I would model it this way: oathContract = power.wi
by idoby 6y ago
Edge cases in the API (can pass null etc) and throwing an exception on programming errors are smells for me. I would model it this way:
oathContract = power.witnessOath(declaration, curse);
or in the case of a Christian power (which ISA Jewish power too):
oathContract = christianPower.witnessOath(declaration);
It's just not the same interface. You can't realistically ignore the type of power and use a polymorphic call. The Bible says so.
(Of course, when you oathContract.renege(), we know which power should handle your case, and can put a message in their respective queue)
- codeulike 6y agoHaha Deity = undocumented API Theology = reverse engineering Schism = new version breaks backward compatibility