Ci dispiace, sarei felice di avere qualcuno che migliora il titolo di questa domanda.
Quali sono i vantaggi e gli svantaggi della logica "formulata positivamente" rispetto al fatto che sia "leggibile in inglese". Sto cercando una posizione generica che possa essere inserita nelle linee guida del codice.
Esempi di ciò che vedo come logica "formulata positivamente"
if ($obj->isValid()){
if ($found){
if ($first){
//do nothing
}else{
doX();
}
$this->useFields(array('a','b'));
Esempi di ciò che vedo come logica "formulata negativamente"
if (!$first)
doX();
}
$this->unset(array('d','e','f','g'));
Considerando che se ci si concentra su "leggibile in inglese", lo vedrei come valido:
if (isValid()){
if ($found){
e questo non è "leggibile in inglese"
if ($l){
if (isValid() || !isActive()){
doX();
}