Code Generation MythsWe created Codify to overcome many of the limitations that we had experienced with other code generation tools. Many developers have had similar experiences and, as such, are somewhat skeptical about the usefulness of code generation. Here are some of the common myths and misconceptions about code generation, along our comments about how Codify is different. Myth 1: Generated code is b l o a t e d"Generated code is hard to read, slow and you just can't trust it. I'm very uncomfortable using generated code." A problem with many commercial code generation tools is that they generate a large, monolithic code base in an attempt to handle all possible contingencies. The problem is, many of these problems don't occur on your project so you pay a high cost for code you don't even need. Codify is capable of generating code at a much finer level of granularity than most tools. Codify is also different because you are in complete control of every line of generated code. You decide what abstractions to use in your problem domain and how. You are always in complete control of Codify, not the other way around. Myth 2: Generated code is inflexible"Code generation demos always looks clean and clear cut, but they don't always fit real world problems. If I'm a few months into a project and then find an edge case that the tool can't handle then I've got a real problem. If can't change the tool then I could be forced to scrap everything and write the code by hand anyway." Codify makes it easy for you to customize all generated code. If there is a problem with how the generated code works, you have full control over the template that is generating the code. By default Codify puts a project-specific copy of each template into your Codify projects so that there can never be any problematic inter-project dependencies. Myth 3: Code generation negatively impacts the development process"It'll take me longer to figure out how to integrate a code generator into my process than it would to just write my code by hand. Introducing a new, unknown step into my process is not worth it." Here's where Codify really stands out. You can use Codify on any type of code at any time. It doesn't matter if you started the project using Codify or if you picked up Codify at the very end. And since Codify is integrated with Visual Studio .NET there's no need to stop in the middle of coding to use some external tool to generate code, it's all right there. Myth 4: Code generation introduces evil dependencies"By adding a dependency to a third party tool to my project, I run the risk of getting tied down later. What if we want to support a new OS sooner than Codify does? We've been burned by third party controls in this way before. Why would I introduce something potentially that negative into my application?" Codify introduces zero additional dependencies onto the generated source code. There are absolutely no runtime dependencies and absolutely no tool dependencies introduced by Codify into your project's source code. If you have a machine without Codify installed on it, you can still open, run, build and edit a project that contains generated code. You will get no warnings or error messages. Codify generates text and gets the hell out of the way. Myth 5: Code generation locks you into a vendor"Yeah, right. I'll get your generated code into one of my projects and I'll be forced to live with your technology for life." As mentioned above... Codify just generates source code. That's all. It doesn't mangle your project files or add any weird junk that will trip you up later. If you uninstall Codify and never use it again, then all of your generated code will continue to function perfectly. If half your team is using Codify and the other half is not then nothing bad will happen when they pass files or projects back and forth. We promise. We've been burned by bad tools in the past and we made it our goal to do better in this critical area. Myth 6: Code generation is a poor value proposition"There are just too many unknowns to justify the kind of money these things cost." Codify costs only $75 per developer and it can begin saving you time within minutes of installation. |