La programmation de sans si-états?

Je me souviens de quelques temps (années, probablement) il y a, j'ai lu sur Stackoverflow sur les charmes de la programmation avec aussi peu de cas-tests que possible. Cette question est peu pertinente, mais je pense que l'accent était mis sur l'aide de nombreuses petites fonctions qui ont retourné des valeurs déterminées par des tests en fonction du paramètre qu'ils reçoivent. Un exemple très simple serait d'utiliser ce:

int i = 5; 
bool iIsSmall = isSmall(i);

avec isSmall() ressemblant à ceci:

private bool isSmall(int number)
{
    return (i < 10);
}

au lieu de simplement faire ceci:

int i = 5;
bool isSmall;
if (i < 10) {
    isSmall = true;
} else {
    isSmall = false;
}

(Logiquement ce code est juste un exemple de code. Il ne fait pas partie d'un programme que j'ai fais.)

La raison pour faire cela, je crois, parce qu'elle ressemble plus belle et fait un programmeur moins sujettes à des erreurs logiques. Si cette convention de codage est appliqué correctement, vous verrez pratiquement pas de si les tests n'importe où, sauf dans les fonctions dont seul but est de faire ce test.

Maintenant, ma question est: est-il de la documentation sur cette convention? Est-il n'importe quel endroit où vous pouvez voir les débats entre partisans et adversaires de ce style? J'ai essayé de chercher pour le Stackoverflow post qui m'a fait cela, mais je ne le retrouve plus.

Enfin, j'espère que cette question n'a pas obtenir abattu parce que je ne suis pas à demander une solution à un problème. Je suis simplement dans l'espoir d'entendre plus sur ce style de codage et peut-être augmenter la qualité de tout le codage je vais le faire dans l'avenir.

Voir can-you-write-any-algorithm-without-an-if-statement
La programmation de sans si-états? Sûr: while(Condition){/*trucs*/break;}
sournois!

OriginalL'auteur Lee White | 2013-04-19