Se ho un metodo per cercare un indirizzo email valido in un array, è possibile:
- Restituisce l'indirizzo email
- Restituisce false se non è stata trovata un'email.
- Genera un'eccezione se è stata trovata un'email, ma non era valida.
Il commento del metodo dovrebbe essere scritto come se funzionasse sempre, o dovrebbe indicare che potrebbe fallire? Ad esempio:
/**
* Attempts to return the email address from $data.
* @param Array $data
* @return Boolean
* @throws My_Custom_Exception_InvalidEmailAddress
*/
vs
/**
* Returns the email address in the $data.
* @param Array $data
* @return Boolean
* @throws My_Custom_Exception_InvalidEmailAddress
* Throw if an email key is found in $data, but the value is empty
* or if the value doesn't pass the Zend_Validate_Email check.
*/
In generale, vado secondo la regola di, se ho scritto un po 'di "lancio nuovo ..." nel metodo, lo scriverò più come il primo esempio, perché so che ci sono buone probabilità che il metodo non farà ciò che dice il commento, ma lo puoi dire con l'annotazione @throws, quindi sembra un po 'inutile.
È o lo stile di commento "preferito", o è più solo un caso di essere coerenti in tutto il progetto?