Моя личная любимая мозоль - это использование var
везде, где "возможно".
«Возможно» в настоящее время определяется как один из следующих случаев, в основном в порядке убывания чистоты:
Очевидно, помогает СУХОЙ:
var obj1 = new Something();
var obj2 = (Something)ObscureFunction();
var obj3 = ObscureStuff() as Something;
Охраняется, мне все равно, пока он компилируется:
var obj4 = ObscureFunction();
foreach(Something s in obj4) { ... }
Сложные Обобщения и почти любой результат LINQ:
var obj5 = ctx.GetQuery<Something>()..ToList(..)..GroupJoin(..)...ToLookup(...);