Question

Je suis intéressé de savoir comment les gens organisent leurs bibliothèques de codes, notamment en ce qui concerne les composants réutilisables.Je parle en termes OO ci-dessous, mais je suis également intéressé par la façon dont vous organisez les bibliothèques pour d'autres types de langage.

Par exemple:

  • Êtes-vous un adepte des projets de bibliothèque de classes pour tout ou préférez-vous tout conserver dans un seul projet ?
  • Réutilisez-vous vos DLL prédéfinies ou incluez-vous des classes individuelles de projets précédents dans votre travail actuel ?S'il s'agit de classes individuelles, les partagez-vous entre les projets pour vous assurer que tous sont tenus à jour ou autorisez-vous les ramifications ?
  • Quelle est la taille de vos éléments réutilisables ?Dans quelle mesure sont-ils concentrés ?Comment sont-ils concentrés ?
  • Quel niveau de réutilisation atteignez-vous grâce à vos pratiques préférées ?

etc.

MODIFIER

Je ne cherche pas ici des conseils spécifiques, je m'intéresse simplement aux pensées et aux pratiques des gens.Je suis particulièrement intéressé par la réutilisation du code entre des projets disparates, plutôt qu'au sein d'un même projet.(Malheureusement, l'utilisation de « projet » ici est trompeuse - je veux dire la réutilisation entre des projets du monde réel entrepris pour des clients, et non des projets au sens de Visual Studio.)

Était-ce utile?

La solution

Il peut généralement être le guide par déploiement considérations:

Comment allez-vous déployer (à savoir ce que vous copier sur votre machine de production)?

Si ce que vous déployez sont emballés composants (c.-à-dll, pot, guerre, ...), il est sage d'organiser la "bibliothèque de code" comme une collection de empaqueté un ensemble de fichiers.
De cette façon, vous développerez directement avec le - dll, pot, guerre, ... -. Qui sera déployée sur la plate-forme de production
L'idée étant:. Si cela fonctionne avec les fichiers emballés, il peut toujours travailler dans la production


  

la réutilisation des codes entre les projets disparates, plutôt que dans un seul projet.

Je maintiens ce genre de réutilisation est plus facile dans une approche « composants » (comme celui évoqué dans la question « Branches vendeur dans GIT ")

Depuis plus de 40 projets en cours, nous avons atteint:

  • réutilisation technique en isolant systématiquement tous les aspects techniques pur dans le cadre indépendant (généralement, cadre log, cadre d'exception, KPI - Key Performance Indicator - cadre, etc.).
    Ces composants techniques sont réutilisés dans tous les autres projets.
  • réutilisation fonctionnelle en définissant clairement applicatif l'architecture afin de diviser tout domaine fonctionnel (compte tenu des spécifications fonctionnelles et opérationnelles) dans des applications bien définies. Cela implique généralement, par exemple, une couche de bus qui est aussi un excellent candidat pour exposer les services réutilisés par d'autres projets.

Résumé:
Pour un grand domaine fonctionnel, un seul projet étant pas facile à gérer, une bonne architecture applicative conduira à la réutilisation du code naturel.

Autres conseils

Nous suivons ces principes:

  • La Release-réutilisation Principe d'équivalence: Le granulé de réutilisation est le granulé de libération
  • .
  • La commune de fermeture Principe:. Les classes d'un package doivent être fermés ensemble contre les mêmes types de changements
  • Le principe commun de réutilisation. Les classes dans un emballage sont réutilisés ensemble
  • Le acyclique Principe Dépendances: Permettre pas de cycles dans le graphe de dépendance de paquet
  • .
  • Le principe Stable Dépendance: Depend dans le sens de la stabilité
  • .
  • Le Stable Principe Abstraction:. Un paquet doit être aussi abstraite car il est stable

Vous pouvez en savoir plus sur et plus ici .

Cela dépend de la plateforme sur laquelle vous travaillez.Je suis un (fier) ​​développeur Java et nous disposons de bons outils pour organiser nos dépendances tels que Maven ou Lierre

Peu importe ce que vous décidez un bon contrôle de code source est crucial pour cela, car il vous permet de mettre en œuvre votre stratégie quelque façon que vous aimez sans se retrouver avec beaucoup de copies sans rapport avec votre soutien essaimer libraries.good est essentiel.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top