En su opinión, ¿qué es más legible? (operador) o uso de if's

Tengo un método que recibirá unstring, pero antes de que pueda trabajar con él, tengo que convertirlo aint. A veces puede sernull y tengo que cambiar su valor a"0". Hoy tengo:

public void doSomeWork(string value)
{
   int SomeValue = int.Parse(value ?? "0"); //it can throw an exception(i know)
}

Lo hice, pero mi jefe me pidió que lo refactorizara para:

public void doSomeWork(string value)
{
    if(string.IsNullOrEmpty(value))
        value = "0";
    int SomeValue = int.Parse(value);
}

En tu opinión, ¿cuál es la mejor opción?

Respuestas a la pregunta(13)

Su respuesta a la pregunta