2017-09-14 7 views
0

Je travaille sur un programme vieux de 20 ans qui a été écrit par plusieurs programmeurs qui apparemment ne savaient pas que des commentaires existent (aussi le code est en allemand).Stockage de formulaires/classes globaux de projet en C#

Dans le projet, il existe de multiples formes et des classes qui sont pour tous les projets dans la solution (par exemple choisir projet, choisissez le fichier, entrez le nom ...)

En ce moment, ces formulaires sont stockés dans tout projet Le programmeur avait ouvert à l'époque ce qui le rend vraiment énervant de trouver quoi que ce soit.

Comment allez-vous stocker des formulaires globaux pour tous les projets de la solution (peuvent être ouverts et utilisés par n'importe quel projet)? Souhaitez-vous créer un nouveau projet qui les stockerait? Existe-t-il de meilleurs moyens de le faire dans Visual Studio? Comment gérez-vous le stockage des formulaires/classes globaux en général?

Merci pour votre aide!

+0

Id probablement les mettre au moins dans une structure de dossiers similaires dans chaque projet où ils sont créés. Mais vraiment, si vous avez un IDE décent, vous ne devriez pas avoir trop de problème à les trouver en utilisant le symbole goto/quoi que ce soit fonctionnalité – meganaut

+0

* "ces formes sont stockées dans quelque chose" * - J'en doute. Il y a probablement une logique dans le placement des formulaires et c'est très bien d'avoir des difficultés à trouver des choses dans le projet de quelqu'un d'autre. Se familiariser avec lui, poser des questions à d'autres programmeurs de celui-ci, utiliser "Trouver toutes les références", "Aller à la définition" et l'explorateur de solution "Synchroniser avec le document actif", cela réduit le besoin de savoir. P.S .: Je suis l'auteur d'un programme de 15 ans. – Sinatr

Répondre

0

L'approche idéale serait de séparer le code réutilisable du code non réutilisable ainsi que du code dépendant de la plate-forme et indépendant de la plate-forme. Cela vous obligera à créer un autre projet qui serait partagé entre vos autres projets au sein de la même solution.

I.E.

Shared:

  • Foo - réutilisables Bibliothèque de classes/Bibliothèque de classes portable (PCL) (Plate-forme indépendante)

  • Bar - Formulaires réutilisables Projet (Plateforme dépendante)


Principal:

  • Forms projet A utilise Bar

  • Forms Projet B utilise Foo & Bar

  • Web Project C utilise Foo (ne peut pas utiliser Bar en raison de l'incompatibilité de la plate-forme)


Les logiques métier indépendantes de la plate-forme sont idéalement rédigées dans un projet distinct afin que plusieurs plates-formes puissent utilise le code.

Notez que les projets Forms et Web Projects sont deux plates-formes différentes et ne peuvent pas partager de codes.