Saturday, July 30, 2011

What a Software Professional should know?

I have been reading Robert C. Martin’s book “The Clean Coder”.
A must read book for every software professional.
In chapter 1, Bob mention the minimal list of things that every software professional should be conversant with:
1. Design patterns.
One should be able to describe all 24 patterns in the GOF book .
One should also have a working knowledge of the component principles.
2. Design
One should know the SOLID principles
3. Methods
One should understand XP, Scrum, Lean, Kanban, Waterfall ,Structured Analysis and Structured Design
4. Disciplines:
You should practice TDD, Object-Oriented design, Structured Programming, Continous Integration and Pair Programming
5. Artifacts:
You should know UML,DFDs ,Structured Charts, Pertri Nets, State Transition Diagrams and Tables, flow charts and decision tables.

Monday, July 04, 2011

ASP.Net MVC Best Practices

ASP.Net MVC Best Practices
1. Create Extension Methods of UrlHelper to generate your url from Route.
2. Create Extension Method of UrlHelper to map your Javascript,Stylesheet and Image Folder
3. Abstract DI Container
4.Keep your controller free from HttpContext and its tail
5.Use UpdateModel Carefully
6. Avoid ViewData,user ViewData.Model(Say No to "Magic strings"
7. User PRG Pattern for Data Modification
8. Action Filters
Use ActionFitlers for "shared " data. Use Action filters to retrieve data that is shared among different views. Use Partial view to display them.
9. Write your own HTML . If there ia n if , write an HtmlHelper.
10 . Do not put javascript in you code
11. User JQuery and JQuery UI
12. Create new ActionResult if you need one.