Ma pratique est similaire à ce que Jon déclare. La grande majorité des énumérations et des constantes sont évidemment liées à une classe ou un module particulier et sont déclarées publiques.
Le niveau le plus bas de mon logiciel s'appelle Utilitaire et contient des routines mathématiques et d'autres fonctions et méthodes d'utilité générale (plutôt qu'un utilitaire spécifique au mode de cette application). Dans un module il y a un tas de fonctions qui ne sont que des fonctions utilitaires/sous-programmes qui n'ont pas de thème commun. C'est dans ce domaine que tout enums ou constante va.
Il existe une zone similaire pour le modèle d'application où les utilitaires généralement utilisés pour cette application vont. Et là où les constantes qui ne peuvent être liées à aucune classe du MODÈLE vont.
Il y a trois domaines dans lesquels constante se trouve dans mon cadre personnel
Les déclarations de classe Le module d'utilité générale du modèle d'application Le module d'utilité générale de l'ensemble de services publics.
En pratique, seule une poignée de douzaines d'enum et constante devait être déclarée dans les deux modules utilitaires. La plupart de ces décélérations Win32 sont utilisées par la fonction Win32 qui sont importées dans mon assembly.