Command-Query separation

There is a small rule I follow that&rsquo;s made my code easier to work with. It is called Command Query Separation. &#xA; Don&rsquo;t worry, it&rsquo;s not one of those academic things you forget in five minutes. It&rsquo;s actually very simple. &#xA; &ldquo;Functions should either do something (a command) or return something (a query), but not both&rdquo;. &#xA; Don&rsquo;t be furious on me for…