Je pense qu'il s'agit simplement d'une question de notoriété des expressions idiomatiques.
Le noyau Linux, par exemple, possède de nombreux idiomes.
Par exemple, vous ne faites jamais
static int x = 0 ;
Au lieu de cela, vous le faites :
statique int x ;
(le compilateur le mettra à zéro, mais c'est aux responsables du noyau qu'il faut s'adresser, pas à moi).
Vous ne le faites pas :
si (x != NULL)
vous le faites :
si (x)
vous ne le faites pas :
si (quelque chose == quelque chose) renvoie 0 ; sinon renvoie 1 ;
vous le faites :
return (something != whatever) ;
Et, de temps en temps, ce mélange d'entiers et de booléens peut s'avérer très pratique, comme ceci : build_assert.h
dont la teneur est la suivante :
#define EXPR\_BUILD\_ASSERT(cond) \\
(sizeof(char \[1 - 2\*!(cond)\]) - 1)
Ils utilisent généreusement les gotos pour les chemins de traitement des erreurs, ce qui est un peu contradictoire.
Les éléments d'une ou deux lignes sont probablement inutiles en termes de lisibilité et de maintenabilité. Ce sont des choses triviales. La véritable viande dans les départements de la maintenabilité et de la lisibilité se trouve (d'après mon expérience) dans les choses à plus grande échelle. Pour moi, une grande partie de la POO tend à rendre le code plus facile à ÉCRIRE, mais plus difficile à LIRE, et plus difficile à DÉBUTER. Pour moi, c'est une perte nette. Je ne suis donc pas un grand fan de la POO. Oups... Je me suis éloigné du sujet.