In order to provide increased productivity, more and more code generation tools are now hitting the market. Many IDEs are also getting equipped with Wizards and plug-ins in order to make life easier for developers (or so called developers). We have Wizards that allow us to magically produce codes needed to create a database driven application by simply clicking a few buttons. However, whenever we sift through the codes produced by these Wizards, we often wonder “where is the methodology, where is the pattern, and above all… where is the logical separation of code”.
In a quest to increase productivity or to make developers out of non-developers, IDE makers are creating tools to generate codes that are against many of the good practices and principals. We constantly preach about using good coding patterns; however, if the Wizards are incapable of creating good code, then what are they good for? Don’t get me wrong; I like the Wizards to create a quick little application for personal use or for some mom-and-pop shops. However, Wizards for semi-large applications and/or Enterprise level applications is like…… c’mon do I even need to mention it????
In any case, Wizards have their place; but not for the type of work I prefer to do. So, it just boggles my mind when people get so excited about Wizards and drag-and-drops. Makes me wonder… “Why the fascination”.