views:

348

answers:

2

I've been involved in programming for 15 years on small projects such as utilities, web sites, and desktop applications.

I'm now working on larger projects and my supervisors are very happy - but I'm not.

It was fine in the old days to throw something together and the number of lines of code were relatively small. But now I'm concerned about whether I am using best practices when designing the program. I feel that I have a poor foundation in my C# understanding.

  • What areas of C# should every C# programmer understand?
  • What have you done to strengthen your programming foundation - ie, the basic fundamentals of computer science?

Thanks.

+1  A: 

The latest big-new-thing that has come about for C# is LINQ. There's plenty of good books on that one. Going back a little bit, generic classes are useful constructs, as are things like unit tests and ORM frameworks.

One of the recommendations I always give to someone who wants a solid grounding in C# is the microsoft certification study books. If one goes through them, they do a fairly good job of covering everything at least a little bit, so you know what's available. As a side benefit, it makes it easy to just pick up the certification after you've read/studied the book, if that helps your professional development any.

GWLlosa
Linq is useless to someone who has no need for databases...
Tim
Um... You know that LINQ works on object collections too, right? Like lists? And Dictionaries?
GWLlosa
+1  A: 

What is the domain you are programming for? Keeping up with sites like this and reading the typically suggested books, listening to podcasts like SE radio, etc. are all going to help.

Just the fact that you are asking the question and reviewing your code is a key factor. Do you know any other developers who would review your design and code with you?

Run the FX cop tool on your code and research all the stuff that falls out of those. That is a simple start.

Tim