There are a lot of things that fundamentally change how you program - you see something and the light bulb goes off. For me, the following was such a checklist (not in any order)
- Object Oriented Code --> Many VB6 developers haven't needed to deal with OOP yet. However VB.Net is now object-oriented.
- Unit Tests --> automated tests for specific units of code to assist with development and regression (usually run with NUnit)
- Regex Expressions --> Manipulating text
- Xml --> Consistent and standard data storage
- Code Generation --> eliminate redundant code that can't just be refactored.
- Consciously seeking Tools --> tools help you avoid or simplify tedious tasks.
Many people do some of these, but I've seen many developers reluctant to invest in the other areas. They'll write lines of text-parsing code before spending two hours investing in Regular Expressions.
I'm currently looking more into code generation with CodeSmith. It is a great tool, and I plan to post some cool findings on it.