"I was recently assigned to work on a team that maintains a fairly large product," writes Aaron, "at first, I was a bit overwhelmed by the complexity of the architecture. There were countless layers of abstraction, thousands and thousands of classes, and design patterns galore. Since it was such a large project – and my first large project – I figured that the architectural complexity was simply par for the course."
“Then I started looking at the code a little more closely. If I had two words to describe it, they’d be ‘unnecessary complexity.’ And if I had one snippet to describe it, it would be this.”
private void SetAccount(RequisitionData.RequisitionItem requisitionItem, AccountData.Account account, bool automation) { bool allowSetAccount = false; if(account != null) { // if the account entry is being set by automation, ensure that // the user hasn't already set a value if (automation) { if (!requisitionItem.IsAccountCodeNull()) { if (requisitionItem.AccountCode == string.Empty) allowSetAccount = true; else allowSetAccount = true; } else allowSetAccount = true; } else allowSetAccount = true; if (allowSetAccount) { requisitionItem.AccountID = account.ID; requisitionItem.AccountCode = account.Code; } } }
Aaron continued, "the beauty of it is that the method is private within the class, and has an 'automation' boolean parameter. This parameter is always passed as true."