Merging Things does not Reduce Them.


Merging Things does not Reduce Them. It simply makes them more difficult to distinguish.


It often seems intuitive that merging two methods results in a reduction of complexity.


Ironically this is not true. When you merge two methods, you still have 2 conceptual tasks that can be executed by an #API. Only now, you've invented your own hidden, single use "schema" for defining them and how to invoke them. 


All you've done is hide them from your declared interface. They are no longer discoverable at compile time by your compiler and knowledge of how to invoke them and what is supported is now tribal. 


In fact you've added complexity and hidden critical information from the compiler.


Yet this is common practice. Extremely common... 


The same goes for model schema by the way. 


Behavior modifiers on methods and conditionally relevant fields on models, highlight this problem.


Be verbose in your contract definitions so that you don't have to be verbose over slack.


#software #architecture #coding



Comments

Popular posts from this blog

Define "Scalar Value"

AI Self Awareness in Video Games

The World of Conceptual Data Modeling