My primary areas of interest are:
- Dependency Injection / Inversion of Control
- Model View Controller (MVC) and associated design patterns
- Design patterns in general
- Improving my software development / engineering skills
- Writing "Clean" code which to me means
- It "must" be self-explanatory, i.e. little need for comments (This is my top priority)
- It should be as concise as possible (why have 2 lines when 1 will do)
- It should be as modular (high cohesion / low coupling) as possible.
One of my favorite lessons comes from Pascal. Even though not required in C#, I always find myself defining my methods before I call them, and leaving the entry point of my class at the very bottom. For me, this structure just works very well somehow, but I never would have taught of something like this unless I learned Pascal. I can even make my assembly code readable and enjoy the fact that in Assembly, I make the rules and constraints, not some language or compiler.