Solo estaba preguntando sobre prácticas estándar de sintaxis de validación de argumentos. Actualmente estoy trabajando con PHP, pero cualquier cosa que se considere una solución independiente de plataforma/lenguaje sería genial.Criterios de validación de argumentos de función/método
En este momento, conozco dos sintaxis bastante comunes. Por ejemplo (mi preferencia):
function foo($a, $b, $c){
if(!$a){ throw new Exception(); }
if($b < 0){ throw new Exception(); }
if(!check($c)){ throw new Exception(); }
//do stuff with $a, $b, and $c
}
y alternativamente:
function foo($a, $b, $c){
if($a){
if($b >= 0){
if(check($c)){
//do stuff with $a, $b, and $c
}else{ throw new Exception(); }
}else{ throw new Exception(); }
}else{ throw new Exception(); }
}
En cualquier caso, si alguien sabe de documentación que ilustra ningún tipo de normas o prácticas comunes con respecto a esto, yo agradecería mucho una referencia.
Por supuesto, las preferencias y opiniones personales son más que bienvenidas, pero el razonamiento para sus elecciones sería una ventaja.
Gracias Michael - Ese es el mismo método que prefiero. ¿Alguna sugerencia de clases de Afirmación existentes para validar/lanzar excepciones? Supongo que un diseño efectivo de clase de Aserción, extendería la clase existente de Excepción, ¿correcto? ¿Alguna sugerencia sobre dónde comenzar a escribir la mía? – Dan