Monday, 25 May 2009

QUnit is a powerful, easy-to-use, JavaScript test suite. It's used by the jQuery project to test its code and plugins but is capable of testing any generic JavaScript code (and even capable of testing JavaScript code on the server-side).

FireUnit is a FireFox add-on which enables us writing Unit Tests for JavaScript.

Thursday, 21 May 2009

I would like to write about what I think are best software development and design principles:

Simplicity

Have you seen spagetty code? I believe in breaking the complexity into smaller and simpler parts so that each part are simple to understand, write and change.

Reusability

Why should you write the same code, like data access layer, 100 times in each application while the pattern of its generation is the same? We should look for patterns where it's simpler to make our codes reusable and packagable. Think about where you can generate code. See how you can design your code to be more reusable or where you can use reliable hirdparty tools; you don't have to write everything yourself, there are plenty of good tools in the market that may meet your needs.

Extensibility

The requiremetns always change. We should think about future in what extent our application is going to be extended and are we designing and developing the components in a way that extensibility will be supported. Think about where you can design the software more configurable.

Iterative Development

You don't have time to sit down and document all peices of requirements and design in the most perfect way. Design, develop and deliver iteratively in short springs/iterations e.g. 1-2 weeks. You will be able to get feedback sooner so that the changes will be made clearer and sooner.

Write Tests

Writing unit and integration tests is sometimes the most boring/challenging and time consuming part but it pays off when you use the right tools and consider the benefits such as high quality, changable software, bug free software, happier customer ...

Refactor

Spend time for refactoring your existing production and test code; refactoring has so many benefits some of which are listed here. Not doing so can lead to have bad spaghetti code that which not only others cannot understand easily but also you yourself won't understand it few months later!

You will not be a successful developer if you rely only on yourself always and don't learn from others or share with others. Also you will miss so many opportunities that communities provide. Join forums, such as asp.net or msdn forum, to discuss issues or design/development questions. Join communities. Attend events and meet people with whom you have mutual interest. Go out there, share what you know and learn what others share.

Thursday, 7 May 2009

ASP.NET Dynamic Data provides a framework that enables you to quickly build a functional data-driven application, based on a LINQ to SQL or Entity Framework data model. It also adds great flexibility and functionality to the DetailsView, FormView, GridView, and ListView controls in the form of smart validation and the ability to easily change the display of these controls using templates.