Code Generators for Speedy Net Development

As a internet developer, one particular issue that helps me to rapidly create net applications is to use a popular application framework that is versatile and robust. Additionally, I like to use code generators to make code for custom applications I build for my client. My most highly effective code generators, build code for interacting with the regional database committed to my internet site.

Normally, it is terrible practice to repeat code when performing improvement. Even so, there are certain instances when this can be advantageous and assist in developing dynamic net applications. Here, we will talk about some of the many applications that I have found valuable and how you can apply them to your personal organization.

Object-Oriented Classes

One way I enforce code reuse is by making use of object-oriented design. For my data access layer I generate an abstract class which consists of the prevalent functionality. Subsequent, I make derived classes which implement the specific strategies which are necessary for the entity model (normally a database table).

These derived classes have different fields which represent the fields defined for the table. They also contain mappings for the principal keys, any related fields that are retrieved from related tables, and custom techniques for querying the database. The concept is that all of the database calls are encapsulated in the data access layer classes.

These derived classes have sufficient similarities amongst a single a different that it made sense for us to make a code generator to build these files from the database schema.

How to Create Code in Your Intranet

On our intranet, we have the code generated connected straight to our database management scripts. When an administrator is viewing a table schema, they have a button on the bottom of the screen to produce the code for our information access layer. When best QR Code generator presses this button, the code is straight away generated and the user can click anyplace on the code to select the code block and copy it to the clipboard.

The approach of generating code is surprisingly basic. We merely retrieve the schema from the database and from that we define all the macros that are needed to substitute into a code template. These macros consist of things such as the script name, database table name, key crucial fields, public fields, private fields, and a generated class name.

The code is output to the screen as pre-formatted text. Under this is a net form exactly where the user could tweak any of the macro values that have been generated. Just after making adjustments to these values, they can click a submit button which regenerates the code employing the custom macro values. Of course this step is optional. The user may perhaps merely pick out to copy all of the system code and paste it in their code editor and continue creating modifications that way.

Table Administration

In my web-site administration panel, I have a lot of pages that are constructed for managing database tables. I have a extremely capable library which handles all of the heavy lifting for paging by way of a table of records, generating a new record, editing and deleting a record. This is an object-oriented class that takes a variable quantity of parameters.

To build a new administration region, I just need to have to instantiate this class, define all of the expected properties, and then get in touch with a method referred to as “Course of action”. The resulting file is generally no longer than 25 lines of code. Generating these files doesn’t take extremely lengthy when accomplished by hand. On the other hand, I knew that creating a code generator for these server-side scripts would save us a lot of time.

Once again, the essential to accomplishing this target was to initial read the database schema for a table to get all of the field definitions. From these definitions, it would be a uncomplicated matter to produce the code from an current script template. I just define macros for all of the properties I will need to substitute in the template. As the table schema is read, I build these properties which are later substituted in to the template.

Specific Considerations

When producing code, it is critical to hold in mind how the script is going to be used. In my data access layer scripts, I know that they are typically two directories beneath the web site root. Simply because of this, I know that any relative links require to go up two levels to get to the web-site root.

Yet another crucial region to take into account is type validation. There are certain constraints you can place on a web form to limit the amount of characters a user enters into a text field. You can even make Boolean fields show as radio buttons labeled “Yes” and “No”. Date fields can display using a specialized date picker.