Je pense à quelques trucs liés aux informations sur le type d'exécution, et j'aimerais avoir des retours de la part des programmeurs qui travaillent sur des projets bien plus importants que moi. Est-il raisonnable de s'attendre à ce qu'un programme ait plus de 65536 (2^16) types définis par l'utilisateur (classes et structures) dans un seul projet? Cela fait pas signifie 65536 instances, cela signifie 65536 types. Est-ce que cela aurait de l'importance dans la pratique si un compilateur vous limitait à 65536 classes/structures dans un projet?Est-il raisonnable d'avoir plus de 65536 types définis par l'utilisateur dans les grands projets?
Répondre
Non, car à ce stade, vous devriez fortement découpler les projets. Seuls les types «publics» doivent interagir entre eux à travers les projets. Ensuite, la limitation devient: maximum de 2^16 types par projet, et maximum de 2^16 types vis-à-vis du public dans tous les projets.
Qui dit type info == nombre de 16 bits?
Je considérerais cela comme une contrainte de l'environnement. Dans certains systèmes, les types sont générés automatiquement. Dans ces occasions, un grand nombre de types seraient créés. Même si ce n'est pas près de 65536, pourquoi voudriez-vous imposer une telle restriction?
Dans tous les systèmes/applications modernes, le nombre de tous les objets n'est limité que par la mémoire système. C'est un pas en arrière d'avoir une autre restriction.
C'est une question de priorités. Le temps (et la quantité de code) consacré à la mise en œuvre d'un nombre «illimité» de types est-il justifiable dans la portée actuelle du projet?
Vous voudrez également considérer la maintenabilité comme le projet/compilateur se développe. Je dirais que des cas particuliers comme avoir une quantité de types obèses ne justifient pas vraiment de prendre cela en compte si vous ne ciblez pas spécifiquement cela. Qui est votre public cible?
MISE À JOUR: Dans certains cas, vous voudrez peut-être en fait vous limiter pour devenir plus efficace dans un autre aspect (comme la mémoire, la vitesse d'exécution, etc.) Tant qu'il est clairement documenté, je pense que vous devriez aller avec ce qui correspond à vos besoins spécifiques.
- 1. cx_Oracle et les types définis par l'utilisateur
- 2. Ressources (resx) maintenance dans les grands projets
- 3. Types pour les grands nombres
- 4. Types de bibliothèques standard et types définis par l'utilisateur
- 5. De petits à grands projets
- 6. Utilisation de types définis dans les arguments de modèle
- 7. Types de projets dans ASP.NET
- 8. Comment puis-je lister les types définis par l'utilisateur dans une base de données SQL Server?
- 9. .NET: Les types définis par l'utilisateur dans la grille de propriétés provoquent le blocage
- 10. mise en page du référentiel pour les grands projets Maven
- 11. LINQ to SQL et CLR Types définis par l'utilisateur
- 12. log4net, la journalisation, quels sont les plus grands avantages
- 13. Quels sont les grands projets .NET avec code source?
- 14. Quelle est la qualité des types de données définis par l'utilisateur dans SQL Server?
- 15. Comment supprimer les types de projets Visual Basic?
- 16. Quels sont les plus grands avantages de LLVM?
- 17. Comment se connecter à une liste déroulante de types définis par l'utilisateur?
- 18. crée des bonnes pratiques de types de données définis par l'utilisateur db?
- 19. Comment savoir quels types sont définis dans une DCU Delphi?
- 20. Multiplier les symboles définis
- 21. Quels types de tests unitaires sont les plus rentables?
- 22. Quelle est l'étiquette appropriée pour gérer le code existant potentiellement réutilisable dans les grands projets?
- 23. De grands fichiers PDF dans les e-mails de SAP
- 24. Modèle de projet Visual Studio multiple Types de projets
- 25. CSS peut-il être utilisé pour cibler les attributs définis par l'utilisateur dans les balises HTML?
- 26. Désactiver Visual Assist X pour certains types de projets
- 27. Rapports définis par l'utilisateur avec SSRS
- 28. déploiement de mi-sprint avec mêlée (grands projets de public web «brownfield»)
- 29. Champs définis par l'utilisateur avec NHibernate
- 30. EAV Alternative aux champs définis par l'utilisateur?
C'est hypothétique, pour un schéma que je considère. – dsimcha
Eh bien, faites-en un nombre de 32 bits alors - un supplément de 2 octets par classe ne va pas causer beaucoup de problèmes. –
Cela a à voir avec les pointeurs vers RTTI stockés par les garbage collectors, ce serait donc deux octets de plus par * instance *. – dsimcha