Cuando llevas varios meses son .Net 6 (C#10) haciendo validaciones sobre null y resulta que existe una opción más elegante para hacer esta validación. Entra para ver un ejemplo que dejará tu código más limpio y elegante. En menos de 1 minuto lo verás, otra cosa será el tiempo que te tires refactorizando tu código.

Con la forma que solía usar hasta el nuevo descubrimiento:

[HttpPost(Name = "PostWeatherForecastOld")]
public bool PostOld(string argument)
{
  if (argument == null)
    throw new ArgumentNullException(argument, "Message");
  return true;
}
[HttpPost(Name = "PostWeatherForecastNew")]
public bool PostNew(string argument)
{
  ArgumentNullException.ThrowIfNull(argument);
  return true;
}

Podéis observar que los resultados son los mismos, que no existe gran diferencia, pero que nos deja más limpio el código.

La verdad es que no he pasado un benchmark  o un test de JMeter para ver si se gana algo con un test de verdad. Si lo haces, mencióname en Twitter para verlo.

Lo único que he probado es lanzar llamas en cada modelo con Postman para ver su fluctuación:

  • 200 llamadas de cada tipo.
  • La opción Old, fluctúa a partir de la llamada 50 entre 3 ms y 6 ms.
  • La opción New, fluctúa a partir de la llamada 50 entre 3 ms y 4 ms. Se queda más estable.

Aunque este test, para nada lo tomaría como algo concluyente hasta que no se pase un benchmark o un test con JMeter. Cada milisegundo cuenta cuando hacemos aplicaciones. Y si cosas como estas nos permite rascar algo, bienvenido sea.

Ahora te toca refactorizar.