In my day to day activities I have seen many checklists like
- Code review checklist
- Source control check-in checklist
- Developer checklist
All these are good because it helps to reduce failures but does everyone follow these all the time???.
Sometimes I(or any developer) forgot to go through the checklist due to many reasons like time constraints, lack of concentration etc… and I don’t think we should blame anyone for missing this because - “We all are humans and we tends to forget
”. Only way we could reduce these mistakes is to automate!!! wherever possible.
In my current project, all the aspx page should have direction(dir) attribute in the html
tag as part of the localization work. As usual an email checklist for localizing an aspx page was sent to all the developers, out of that one item was to include “dir” attribute whenever they add new aspx file. Everybody followed this in the initial stages but later everybody forgot about this requirement, which caused extra hours of effort to fix it in all the pages. It could have been avoided if we had a automated process which verifies this.
If you want to learn about writing a custom MSBuild task, I suggest - http://msdn.microsoft.com/en-us/library/t9883dzc.aspx
So below the code which creates this custom MS Build task