Рефакторинг пунктов охраны

Какие подходы люди используют (если таковые имеются) в управлениипункт охраны Взрыв в твоих классах? Например:

public void SomeMethod<T>(string var1, IEnumerable<T> items, int count)
{
    if (string.IsNullOrEmpty(var1))
    {
        throw new ArgumentNullException("var1");
    }

    if (items == null)
    {
        throw new ArgumentNullException("items");
    }

    if (count < 1)
    {
        throw new ArgumentOutOfRangeException("count");
    }

    ... etc ....
}

В проекте, над которым я сейчас работаю, есть много классов, которые имеют похожий набор защитных предложений для открытых методов.

Я знаю о контрактах .NET 4.0 Code, но сейчас это не вариант для нашей команды.

Ответы на вопрос(5)

Ваш ответ на вопрос