Frage

Ich bin daran interessiert zu wissen, wie die Menschen ihre Code-Bibliotheken organisieren, vor allem in Bezug auf wiederverwendbare Komponenten. Ich spreche in OO Begriffe unten, aber ich bin daran interessiert, wie Ihr auch für andere Arten von Sprachbibliotheken organisieren.

Zum Beispiel:

  • Sind Sie ein Stickler für Klassenbibliothek Projekte für alles oder tun Sie es vorziehen, alles zu halten, in einem Projekt?
  • Sie wiederverwenden Sie vorkompilierte DLLs oder haben Sie einzelne Klassen aus früheren Projekten in Ihrer aktuellen Arbeit sind? Wenn einzelne Klassen, tun Sie sie zwischen den Projekten teilen alle zu gewährleisten, auf den neuesten Stand oder erlauben Sie Verzweigung?
  • Wie groß sind Ihre wieder verwendbare Elemente? Wie fokussiert sind sie? Wie sind sie fokussiert?
  • Welches Maß an Wiederverwendung Sie erreichen Sie durch Ihre bevorzugten Praktiken?

etc.

EDIT

Ich bin nicht hier, um spezifische Anleitung suche, bin ich in den Gedanken der Menschen und Praktiken gerade interessiert. Ich interessiere mich besonders für die Wiederverwendung von Code zwischen verschiedenen Projekten, anstatt in einem einzigen Projekt. (Leider ist die Verwendung von ‚Projekt‘ ist hier irreführend -. Ich meine Wiederverwendung zwischen realen Projekten für Kunden durchgeführt, keine Projekte in Visual Studio Sinne)

War es hilfreich?

Lösung

Es kann im allgemeinen Führung von Einsatz Überlegungen:

Wie werden Sie bereitstellen (das heißt, was Sie auf Ihrer Produktionsmaschine kopieren)?

Wenn das, was Sie bereitstellen ist verpackt Komponenten (dh dll, Glas, Krieg, ...), ist es ratsam, die „Code-Bibliothek“ als eine Sammlung von organisieren verpackt von Dateien festgelegt.
Auf diese Weise entwickeln Sie direkt mit dem - dll, Glas, Krieg, ... -., Die auf der Produktionsplattform eingesetzt werden
Die Idee dahinter ist:., Wenn es mit den gepackten Dateien arbeitet, kann es noch in der Produktion arbeitet


  

die Wiederverwendung von Code zwischen verschiedenen Projekten, anstatt in einem einzigen Projekt.

Ich behaupte, dass Art der Wiederverwendung ist einfacher, in einem „Komponente“ Ansatz (wie das in der Frage diskutiert „ Vendor-Niederlassungen in der GIT ")

über mehr als 40 aktuelle Projekte, wir erreicht:

  • technische Wiederverwendung , indem sie systematisch alle rein technischen Aspekt in unabhängige Rahmen zu isolieren (in der Regel log Rahmen, Ausnahme Rahmen, KPI - Key Performance Indicator - Rahmen, und so weiter).
    Diese technischen Komponenten werden in allen anderen Projekten wiederverwendet werden.
  • funktionelle Wiederverwendung durch eine klare applicative Einstellung Architektur, um jede funktionelle Domäne zu teilen sich in gut definierten Anwendungen (die Geschäfts- und Funktionsspezifikationen angegeben). Das würde typischerweise beinhalten, zum Beispiel, eine Bus-Schicht, die auch ein großer Kandidat ist mit allen anderen Projekten wiederverwendet Dienstleistungen für die Belichtung.

Zusammenfassung:
Für große funktionelle Domäne, ein einzelnes Projekt nicht überschaubar, eine gute applicative Architektur ist die Wiederverwendung natürliche Code führen wird.

Andere Tipps

Wir folgen diesen Prinzipien:

  • Die Veröffentlichung-Reuse Equivalency Prinzip: Das Granulat der Wiederverwendung ist das Granulat der Freigabe
  • .
  • Das Gemeinsame Closure Prinzip:. Die Klassen in einem Paket geschlossen zusammen gegen die gleichen Arten von Änderungen werden sollten
  • Die Gemeinsame Reuse Prinzip:. Die Klassen in einem Paket wiederverwendet werden zusammen
  • Das azyklische Abhängigkeit Prinzip: Lassen Sie keine Zyklen im Paket Abhängigkeitsgraphen
  • .
  • Das Stable Abhängigkeitsprinzip: Depend in Richtung Stabilität
  • .
  • Die Stable Abstraction Prinzip:. Ein Paket sollte so abstrakt sein, da es stabil ist

Sie können mehr erfahren über hier und über hier .

Es hängt davon ab, welche Plattform Sie arbeiten. Ich bin ein (stolz) Java-Entwickler und wir haben schöne Werkzeuge, um unsere Abhängigkeiten zu organisieren wie Maven oder Ivy

Was auch immer Sie sonst gute Quellcodeverwaltung entscheiden, ist von entscheidender Bedeutung für diese, wie es Ihnen die Umsetzung Ihrer Strategie ermöglicht es, was auch immer, wie Sie möchten, ohne am Ende mit vielen unabhängigen Kopien Ihrer libraries.good Verzweigungs Unterstützung notwendig ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top