develpreneur podcast

The Poltergeist Anti-Pattern – When Design Goes Bad

Best practices are like everything else.  There are times to ignore or break the rules.  The anti-pattern we cover in this episode results from not doing so.  The poltergeist anti-pattern occurs when we have a bunch of infrastructure code that serves the design but is otherwise useless.  When you are creating methods and classes solely as place-holders or pass-throughs, then you are feeding this anti-pattern. Defining the Poltergeist Anti-Pattern Once again, I found the best definition for our purposes in a blog article about anti-patterns. [Click Here to See The Page] “Useless classes with no real responsibility of their own, often used to just invoke methods in another class or add an unneeded layer of abstraction.“ You might think of... Read more

develpreneur podcast

The Boat Anchor Anti-Pattern

Sometimes ideas that are good at one time become horrible later on.  This is one of many ways to get stuck in the boat anchor anti-pattern.  It is a situation that is well-described by the anti-pattern name.  We find ourselves dragging along a product or code that is doing little other than slowing us down. Defining the Continuous Obsolescence Anti-Pattern Although it may be bad form, I found a good definition of this anti-pattern on a site covering the anti-pattern much like we are here. [Click Here to See The Page] “A Boat Anchor is a programming anti-pattern that occurs when a part of a system is kept in that system despite it no longer having any use.  Generally this... Read more

develpreneur podcast

The Continuous Obsolescence Anti-Pattern

As hard it is to spell the Continuous Obsolescence anti-pattern is easy to fall into.  The lure of shiny new versions of products often leads us into this trap.  We want to stay current with the latest features.  However, the cost of keeping up-to-date can put us in a pattern of upgrades over enhancements. Defining the Continuous Obsolescence Anti-Pattern The wiki c2 site provides a beautiful, pessimistic view of this particular anti-pattern. [Click Here to See The Page] “Continuous Obsolescence: This is the hardest Anti-Pattern to overcome. Corporations have their pet system that they mutate every time a new computer language and/or buzz-word builder comes down the pike to the developers. As soon as the pet system is migrated into... Read more

develpreneur podcast

Spaghetti Code Anti-Pattern

The spaghetti code anti-pattern is one that has become less prevalent in applications.  However, we can still see some excellent examples in the world of scripting and other less structured code.  This anti-pattern typically comes out of short cuts and slapping together a solution.  That makes it easy to avoid.  The cost of repairing this anti-pattern makes avoiding it completely worthwhile. Defining the Spaghetti Code Anti-Pattern I am not often a fan of using the Urban Dictionary to find definitions.   Nevertheless, it has an excellent summary of this anti-pattern. [Click Here to See The Page] “In computer programming, code which flagrantly violates the principles of structured, procedural programming. Usually this means using lots of GOTO statements (or their equivalent in whatever... Read more

develpreneur podcast

The Golden Hammer Anti-Pattern

The next anti-pattern we look at is the golden hammer.  It is another situation that seems to come up often.  Thus, it is one we need to keep an eye out for in order to avoid it. Defining the Golden Hammer Anti-Pattern This time we steal the definition from Investopedia to help highlight how pervasive this anti-pattern is.  Note that software is not even implied in the definition. [Click Here to See The Page] “Golden hammer is excessive dependence on a specific tool to perform many different functions. In investing it is when a trader depends on one particular analysis tool or viewpoint to make all decisions. Golden hammers also happen in the business world when a company uses a single demographic or... Read more

develpreneur podcast

The Blob Anti-Pattern

We will kick off the new season with a look at the Blob anti-pattern.  This is one that is common and easy to fall into.  The tendency to kick design decisions down the road is often a slippery slope that leads to a Blob. Defining the Blob Anti-Pattern I like the definition of a Blob found on the SourceMaking site. [Click Here to See The Page] “The Blob is found in designs where one class monopolizes the processing, and other classes primarily encapsulate data. This AntiPattern is characterized by a class diagram composed of a single complex controller class surrounded by simple data classes. The key problem here is that the majority of the responsibilities are allocated to a single... Read more