Je suis un programmeur C++ assez novice, mais d'après mon expérience limitée du langage, la plupart des directives stylistiques standard du C++ (par ex. Directives stylistiques de Google C++ ) vont à l'encontre de ce qui est mis en œuvre dans les bibliothèques stl et boost.
Par exemple, les noms de classe de la bibliothèque standard C++ et de Boost sont toujours en minuscules, les mots étant séparés par des traits de soulignement (ex. std::vector
, boost::unordered_map
, std::map::const_iterator
), alors que la plupart des guides de style que j'ai vus pour le C++ tendent vers un style CamelCase (par ex. TcpConnection
o Int32
).
Il en va de même pour les méthodes. La bibliothèque standard et Boost utilisent le même style pour les méthodes et les fonctions que pour les classes (par ex. std::map<>::get_equal("foo")
), alors que la plupart des guides de style préconisent la pascalCase ou la CamelCase.
Si l'on compare cela à un langage comme Ruby, où la plupart des utilisateurs adhèrent aux conventions utilisées dans les bibliothèques de base, il semble étrange qu'il y ait une telle différence entre les bibliothèques C++ standard et le code de tout le monde.
Quelqu'un sait-il pourquoi ?
EDIT : Pour clarifier, je parle simplement du style textuel superficiel (casse, utilisation de caractères de soulignement, etc.) plutôt que du style d'implémentation réel.