Au-delà des arguments hypothétiques et en se concentrant plutôt sur Windows .NET avec l'IDE Visual Studio et les projets logiciels en croissance, il est logique dans ce contexte d'avoir une classe par fichier.
En général, pour référence visuelle, rien ne vaut une classe par fichier. Vraiment.
Je ne sais pas si Microsoft fait ou ne fait pas la même chose, mais ils ont créé le partial
mot - clé pour diviser une classe sur plusieurs fichiers (c'est encore plus grave). Il est souvent utilisé pour diviser le code de concepteur généré automatiquement à partir de votre code personnalisé dans la même classe (mais il est parfois utilisé pour permettre à différents développeurs de travailler sur la classe en même temps via différents fichiers). Microsoft voit donc les avantages de plusieurs fichiers et tout le monde a à l'esprit plusieurs idées d'organisation de fichiers avec .NET.
Pour les classes imbriquées, vous n'avez pas d'autre choix que d'utiliser un fichier, ou au moins les premières parties des classes qu'ils contiennent. Un fichier est nécessaire et bien dans ce cas:
class BicycleWheel {
class WheelSpoke {
}
}
Sinon, pourquoi conserveriez-vous plusieurs classes dans un seul fichier? L'argument "parce qu'ils sont petits" ou associés les uns aux autres ne tient pas beaucoup car vos classes seront éventuellement associées à d'autres classes. En fin de compte, vous ne pouvez pas facilement déduire l'organisation des objets dans le fichier en fonction de leur utilisation, d' autant plus que le logiciel continue de croître.
De plus, si vous utilisez des dossiers pour les espaces de noms, vous n'aurez jamais de conflit de nom de fichier de classe. Il est également pratique de localiser une classe par nom de fichier sur le système de fichiers lorsque vous n'êtes pas dans un environnement de développement comme Visual Studio (par exemple si vous souhaitez modifier rapidement une classe avec le Bloc-notes ou quelque chose de rapide / léger ).
Tant de bonnes raisons ...