For .NET you have Code Contracts[2], this requires you to annotate pre- and postconditions for your functions but after that it's for example impossible to pass a possibly null into a function without compile time error. It can even do range-check of numerics after calculations etc.
ReSharper has much better recommendations that require almost no tweaking (variable names you might disagree with). The best part, it tells you these recommendations at the time of writing. This is one of ReSharpers best features (IMO). Not only do programmers write better code with, they often write code that works the first time and compiling becomes just a technicality. Code improvement is noticeably better. So much so, that when my company is hiring and I am reviewing the candidates submission; I can immediately tell whether or not they were using ReSharper.
Cannot recommend this tool enough. I feel crippled without it in VS.
Just be aware of your default shortcuts if you look into ReSharper. I remember that some of them change on you.
Here's a some for asp.net, http://stackoverflow.com/questions/4419253/seeking-a-code-an...
Googling "$LANGUAGE lint" will probably find what you need.