Related Illnesses

 < Day Day Up > 



Complexification is often closely tied to Premature Optimization. Optimizing an algorithm commonly results in a more complex algorithm. Thus, Premature Optimization becomes a motivating factor for choosing complex algorithms early in development. Vice versa, Complexification can introduce the symptoms of Premature Optimization even if the choice of algorithm was not based on optimization. This second connection is most often seen when adapting some nifty new algorithm just published in some programmer’s favorite magazine. In the end, it does not matter so much which of the two illnesses that the problem is attributed to; both require the same refactoring steps to solve the problem. This is not to say that you can ignore one of the illnesses. They contain many areas that do not overlap, and each must be understood to handle those disparate areas. However, when they come together they are inseparable problems that are both solved at the same time.

Over Simplification is even more intricately intertwined with Complexification than Premature Optimization is. In the vast majority of cases of Over Simplification, one or more of the programmers involved will have encountered Complexification at least once but more likely multiple times. Over Simplification represents the wrong path to solving Complexification. When we talk about Complexification, the concept of choosing the minimal implementation is mentioned often. However, as with all the illnesses it is important to take into account the entire situation. The solution should be minimal, but it must also be complete. This is discussed in detail in Chapter 5, “Over Simplification,” which we highly recommend that you read in conjunction with this illness.

As is true of most other illnesses, Complexification generally ignores the long-term effects of the decision to use a complex algorithm. This is the ever-present symptom of Myopia, which is a minor illness that runs through many of the other illnesses. Complexification exhibits Myopia in the problems it causes for future maintenance and in the wasted work that can occur if requirements change later in development. Remember to always consider the long-term effects of your decisions.



 < Day Day Up > 



Preventative Programming Techniques. Avoid and Correct Common Mistakes
Preventative Programming Techniques: Avoid and Correct Common Mistakes (Charles River Media Programming)
ISBN: 1584502576
EAN: 2147483647
Year: 2002
Pages: 121
Authors: Brian Hawkins

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net