Melhor prática: Validar condições para chamadas de método?

Acho que em quase todos os programas algumas vezes os métodos não precisam ser chamados o tempo todo, mas apenas sob condições específicas. É muito fácil verificar se um método deve ser chamado. Uma simples declaração if pode fazer o truqu

if (value == true)
{
    DoSomething();
}

Mas se você tiver muitas condições, a validação pode ficar complicada e o código fica cada vez mais longo. Então, escrevi código com o método chamado toda vez e o próprio método verifica e valida se o código dela precisa ser executad

DoSomething(value);

... então ..

public void DoSomething(bool value)
{
    if (value == true)
    {
    // Do Something here ...
    }
}

Agora eu tenho duas maneiras de fazer as coisas. Não sei exatamente qual o caminho certo. Ou talvez haja ainda outra opção?

questionAnswers(7)

yourAnswerToTheQuestion