Une convention de nommage dans la programmation informatique est un ensemble de règles destinées à choisir la séquence de caractères à utiliser pour les identifiants dans le code source et la documentation.
Les raisons pour lesquelles on utilise une convention de nommage (par opposition à l'autorisation accordée aux programmeurs de choisir n'importe quelle séquence de caractères) sont les suivantes :
Le choix de conventions de nommage peut prêter à d'énormes controverses, les partisans de chaque convention tenant la leur pour la meilleure, les autres étant inférieures.
L'utilisation d'une convention de nommage peut procurer une sécurité beaucoup plus grande dans l'utilisation des programmes informatiques, du fait que le code source doit respecter des règles précises.
Il sera ainsi plus facile d'atteindre des niveaux EAL plus élevés, par exemple dans le logiciel libre, lorsqu'il s'agit de vérifier le code source.
Les bénéfices détaillés peuvent se décliner de la façon suivante :
Le choix des conventions de nommage (et leur domaine d'application) fait souvent l'objet de débats.
De plus, même avec des conventions en place connues et bien définies, il peut arriver que des organisations ne parviennent pas à les mettre en oeuvre d'une façon cohérente, ce qui peut causer de l'incohérence, de la causing inconsistency et de la confusion.
Ces défis peuvent être exacerbés si les règles en interne de la convention de nommage sont incohérentes, arbitraires, difficiles à mémoriser ou, au contraire, plus fastidieuses que bénéfiques.
la norme ISO/IEC 11179-5 sur les registres de métadonnées contient des conventions de nommage pour les concepts des éléments (noms d'éléments), les domaines conceptuels, et les domaines de valeur.
Cette norme concerne tous les langages de balisage (HTML, XML,...), mais aussi, à travers les éléments de métadonnées, les données qui peuvent être utilisées par d'autres types de langages.
En Java, dès l'origine de la création de ce langage, des conventions ont établi des exigences strictes sur les classes et les variables à capitaliser différemment. Ainsi, pour un programmeur Java, widget.expand() et Widget.expand() impliquent des comportements significativement différents, même sans connaissance préalable de la classe Widget et malgré le fait que le compilateur n'oblige à aucune règle.
Les identifiants qui représentent des macros en C et C++ sont, par convention, écrits en utilisant seulement des lettres en capitales. Ceci est relatif à la convention selon laquelle, dans beaucoup de langages de programmation, on doit utiliser des métadonnées en capitales pour les constantes.