Modularität ist seit den 1960er Jahren eines der wichtigsten Prinzipien der Softwareentwicklung. Die Anwendung dieses Prinzips bringt viel Nützlichkeit in die Programmierung. Modularität trägt zur effektiven Anwendung des Prinzips der Aufgabentrennung bei, was zu einer Verbesserung der Fähigkeit führt, Code zu erstellen, wiederzuverwenden und zu erstellen.
Heutzutage hat die Anwendung des Modularitätsprinzips im Software-Design eine neue Form angenommen, die in den Komponenten enthalten ist. Dies ist Component Driven Development (CDD). Mit modernen Bibliotheken und Frameworks für die Entwicklung von Benutzeroberflächen wie
React ,
Vue und
Angular sowie CDD-orientierten Tools wie
Bit können Sie Anwendungen erstellen, die auf modularen Komponenten basieren. Dem Programmierer stehen die Muster und Werkzeuge zur Verfügung, die erforderlich sind, um Komponenten isoliert zu entwickeln und Komponentenzusammensetzungen zu erstellen.
Eine Komponente ist ein klar definiertes unabhängiges Fragment der Anwendungsschnittstelle. Als Beispiele für Komponenten können Sie Entitäten wie Schaltflächen, Schieberegler und Fenster zum Anzeigen von Chat-Nachrichten angeben. Wenn wir die Funktionen von CDD verstehen und wissen, wie dieser Ansatz auf die Entwicklung angewendet werden kann, können wir Komponenten als Grundlage für Anwendungen verwenden. Dies gibt uns beim Erstellen von Softwareprojekten alles Nützliche, was bedeutet, die Prinzipien der modularen Programmierung anzuwenden.
Wenn Sie sich genau ansehen, was jetzt im Bereich der
Webkomponenten geschieht, werden Sie feststellen, dass CDD zu einem standardisierten Ansatz für die Frontend-Entwicklung wird.
Das Material, das wir heute veröffentlichen, ist ein komponentenbasierter Entwicklungsleitfaden.
CDD in der Benutzeroberflächenentwicklung
Arbeiten an Bit: Erstellen, Isolieren, Wiederverwenden und Zusammenarbeiten von KomponentenEinfach ausgedrückt, bei der komponentenbasierten Entwicklung werden Anwendungen entworfen, indem lose gekoppelte unabhängige Codeblöcke erstellt werden. Jeder von ihnen verfügt über eine Schnittstelle, über die die Interaktion mit anderen Teilen des Systems organisiert werden kann. Viele Komponenten bilden durch ihre Zusammensetzung eine modulare Anwendung.
Zum Beispiel bedeutet die Verwendung von CDD beim Erstellen von React-Anwendungen, dass sie zuerst die Komponenten erstellen, die die Grundlage der Anwendung bilden, und dann größere Teile der Anwendung daraus zusammensetzen, z. B. ganze Seiten und große Funktionsblöcke.
CDD bezieht sich auf das
Atomic Design (
hier ist nützliches Material zu diesem Thema) und auf den Ansatz zur Entwicklung clientseitiger Teile von Webprojekten, das als „
Micro Frontend “ bezeichnet wird.
CDD hilft dabei, den Entwicklungsprozess eines großen Projekts in kleinere Entwicklungsprozesse für einzelne Komponenten zu unterteilen. Jede Komponente wird unabhängig vom Rest der Anwendung entworfen und unter Berücksichtigung der Möglichkeit der Interaktion mit anderen Teilen des Systems erstellt. Das Entwerfen jeder Komponente als unabhängige Einheit bietet dem Entwickler viele nützliche Funktionen.
Eddie Osmani skizzierte einige der wichtigsten Vorteile der Verwendung von CDD. Er entwarf sie nach einer Reihe von Prinzipien, die
FIRST genannt wurden .
Diese Prinzipien sind:
- Beschleunigung der Entwicklung (schnellere Entwicklung). Die Tatsache, dass die Bemühungen der Entwickler darauf abzielen, separate Komponenten zu erstellen, ermöglicht die Erstellung modularer Teile der Anwendung mit hochspezialisierten APIs. Dies bedeutet, dass Komponenten einerseits schnell entwickelt werden können und andererseits einfacher ist, sie auf das Qualitätsniveau zu bringen, das das Projekt während seiner Entwicklung benötigt.
- Vereinfachung der Unterstützung (einfachere Wartung). Wenn Sie einen Teil einer Anwendung ändern oder aktualisieren müssen, können Sie eine Komponente erweitern oder aktualisieren, anstatt einen großen Teil der Anwendung neu zu gestalten. Dies kann mit einem medizinischen Eingriff verglichen werden, bei dem eine Operation an einem separaten Organ durchgeführt wird und eine Operation ersetzt wird, bei der in fast alle Körperteile eingegriffen wird.
- Bessere Funktionen zur Wiederverwendung von Code. Aufgrund des Grundsatzes der Aufgabentrennung können Komponenten bei der Erstellung einer fertigen Anwendung von ihnen wiederverwendet oder erweitert werden. Dies ist viel besser als die Notwendigkeit, sie immer wieder neu zu schreiben ( hier ist das Material zu diesem Thema).
- Verbesserung der Fähigkeit, die TDD-Methode (Better TDD) anzuwenden. Während der Entwicklung modularer Komponenten ist es viel einfacher als die Verwendung anderer Ansätze zur Implementierung von Komponententests, mit denen die enge Funktionalität einer Komponente überprüft werden soll. Infolgedessen stellt sich heraus, dass es einfacher ist, große Systeme zu testen, die aus Komponenten zusammengesetzt sind. Tatsache ist, dass es für Entwickler bei Verwendung eines modularen Ansatzes einfacher ist zu verstehen, wofür genau der eine oder andere Teil des Systems verantwortlich ist.
- Lernkurven verkürzen (kürzere Lernkurven). Wenn sich ein Entwickler mit einem neuen Projekt für ihn befassen muss, stellt sich heraus, dass es viel einfacher ist, die Essenz und Struktur einzelner Komponenten zu verstehen, als sich mit den Feinheiten des gesamten Projekts zu befassen.
- Verbesserung der Fähigkeiten von Modellierungssystemen (Bessere Modellierung des Systems). Wenn das System aus modularen Komponenten erstellt wird, kann der Entwickler die allgemeine Struktur des Systems leichter verstehen, verstehen und lernen, wie man es beeinflusst.
CDD-Tools
Wenn die Entwicklung auf Komponenten basiert, bedeutet dies, dass der Programmierer spezielle Tools benötigt. Solche Tools zielen darauf ab, Komponenten zu erstellen, zu testen, den allgemeinen Zugriff auf sie zu organisieren und die Zusammenarbeit bei ihnen zu unterstützen.
Insbesondere ist es wichtig, Komponenten isoliert zu entwerfen und zu testen. Dadurch können sie in Form unabhängiger Einheiten arbeiten, die in der Anwendung verwendet werden können. Darüber hinaus ist die Unterstützung für die Wiederverwendung von Komponenten und die Möglichkeit, diese gemeinsam zu nutzen, wichtig. Dies ermöglicht es einem, der als Teil eines Teams an einem Großprojekt arbeitet, das Rad nicht neu zu erfinden, das in Form einer Komponente bereits von einem der Teammitglieder erfunden wurde.
Im Folgenden finden Sie einige nützliche Tools, mit denen Sie Ihre Arbeit an Projekten im CDD-Stil organisieren können. In einem der folgenden Abschnitte werden wir über Projektarchitekturen sprechen, die für die praktische Umsetzung von CDD-Prinzipien empfohlen werden.
▍Bit: Einzel- und Teamentwicklung von Komponenten
Bit ist ein
Open-Source- Tool, das im Wesentlichen zur Unterstützung der praktischen Anwendung der CDD-Methodik entwickelt wurde.
Hier ist ein Video über Bit. Mit diesem Tool können Sie Komponenten entwickeln, zusammenarbeiten und mit ihnen Webprojekte erstellen.
Der Punkt ist, dass Sie mit Bit Komponenten isolieren können, die als Teil eines Projekts entwickelt werden. Sagen wir - innerhalb einer Anwendung oder Bibliothek. Bit unterstützt Befehlszeilentools und hilft bei der Organisation der Kapselung von Komponenten mit all ihren Dateien und Abhängigkeiten. Mit Bit können Sie virtuelle Darstellungen gekapselter Komponenten isoliert entwickeln und testen.
Dies bedeutet, dass die in der Anwendung erstellte Komponente mit all ihren Abhängigkeiten ausgestattet, gekapselt und in eine Entität umgewandelt werden kann, die außerhalb der Anwendung verwendet und getestet werden kann.
Darüber hinaus können Sie mit Bit eigenständige, gekapselte Komponenten packen und deren Freigabe mithilfe von
Cloud-Tools organisieren . Auf diese Weise können Teams, die an Projekten arbeiten, alle gemeinsam genutzten Komponenten verwenden. Die Bit-Community hat rund 50.000 Entwickler. Durch ihre Bemühungen entstanden Tausende von Open Source-Komponenten, die allen zur Verfügung standen.
Projektentwicklung mit gekapselten KomponentenDank der Funktionen der Cloud-Plattform können Entwicklungsteams Open Source-Komponenten in ihren Anwendungen installieren. Teammitglieder können Autoren von Komponenten auch Ideen zur Verbesserung von Komponenten anbieten, indem sie dies direkt aus ihrer Arbeitsumgebung heraus tun. Bit erweitert die Fähigkeit von Git, Änderungen des Quellcodes von Komponenten projektübergreifend zu verfolgen und zu synchronisieren. Dies gibt Entwicklern die Möglichkeit, Komponentenänderungen und -aktualisierungen zu verwalten.
Bit speichert einen vollständigen Baum von Komponentenabhängigkeiten. Dies gibt dem Entwickler die Möglichkeit zu erfahren, wie sich das Aktualisieren einer Komponente auf abhängige Komponenten auswirken kann und was in einem Projekt möglicherweise „defekt“ ist, wenn Änderungen an einer Komponente vorgenommen werden. Dies bedeutet, dass der Programmierer dank Bit über eine umfassende Umgebung für die Organisation der Entwicklung auf der Grundlage von Komponenten verfügt, in der Sie Komponenten erstellen, testen und gemeinsame Arbeiten an ihnen und deren gemeinsame Verwendung organisieren können.
Cloud-Funktionen in CDDEin weiteres nützliches Merkmal von Bit ist, dass diese Plattform es Entwicklungsteams ermöglicht, nicht nur mit ihren Komponenten über eine einzige Schnittstelle zu arbeiten, sondern auch andere öffentlich zugängliche Komponenten zu verwenden und mit den Autoren dieser Komponenten zu interagieren.
Schnittstellendesigner, Vertreter von Kundenprojekten sowie Programmierer können im Rahmen der gemeinsamen Projektarbeit gemeinsame visuelle Werkzeuge verwenden. Dies schließt die Lücke zwischen Designern und Programmierern. Darüber hinaus sollte beachtet werden, dass in dieser Situation nicht nur Designer und Programmierer profitieren, sondern auch Endbenutzer von Anwendungen, bei denen weniger Heterogenitäten und Fehler auftreten.
Hier ,
hier und
hier finden Sie einige Materialien zu verschiedenen Aspekten der Verwendung von Bit.
▍Entwicklung und Erforschung von UI-Komponenten: StoryBook und Styleguidist
StoryBook und Styleguidist sind Umgebungen für die schnelle Entwicklung von Benutzeroberflächenelementen mithilfe von React. Beide Projekte sind großartige Werkzeuge, um die Komponentenentwicklung zu beschleunigen.
Märchenbuch
StoryBook ist eine Umgebung für die schnelle Entwicklung von UI-Komponenten. Sie können mit der Komponentenbibliothek arbeiten, die verschiedenen Status von Komponenten anzeigen, sich an der interaktiven Entwicklung und dem Testen von Komponenten beteiligen.
Arbeiten Sie bei StoryBookMit StoryBook können Sie Komponenten isoliert von der Anwendung entwerfen. Dies trägt dazu bei, die Wiederverwendbarkeit von Komponenten zu verbessern und die Testbarkeit von Komponenten zu verbessern.
Mit StoryBook können Sie die in der Bibliothek gespeicherten Komponenten anzeigen und online mit ihren Eigenschaften experimentieren. Änderungen, die sofort an der Komponente vorgenommen werden, ohne die Seite neu zu laden, werden visualisiert.
Hier sind einige Beispiele für Komponenten, die im StoryBook erstellt wurden.
Es gibt verschiedene Plugins, die die Entwicklung von Komponenten mit StoryBook beschleunigen können. Auf diese Weise können Sie die Zeit zwischen dem Ändern des Komponentencodes und der Bildung seiner visuellen Darstellung verkürzen. Es ist zu beachten, dass StoryBook neben React auch
React Native und
Vue.js unterstützt.Reagiere auf Styleguidist
React Styleguidist ist eine Komponentenentwicklungsumgebung. Diese Umgebung enthält einen Entwicklungsserver, der einen Hotboot unterstützt. Es verfügt außerdem über ein interaktives
propTypes
, das
propTypes
Komponenten anzeigt und Entwicklern bearbeitbare Beispiele für die Verwendung von Komponenten basierend auf MDD-Dateien bietet.
Reagiere auf StyleguidistDiese Plattform unterstützt JavaScript ES6, Flow und TypeScript. Sie kann ohne zusätzliche Einstellungen mit der Create React App arbeiten. Styleguidist kann automatisch Komponentendokumentationen erstellen. Dadurch kann dieses System die Rolle eines visuellen Dokumentationsportals für Komponenten spielen, an denen ein Team arbeitet.
Wenn Sie an Projekten wie StoryBook und Styleguidist interessiert sind, sollten Sie sich das
React Live- Projekt ansehen, das von Formidable entwickelt wird.
Unterschied zwischen StoryBook und Styleguidist
Während der Arbeit mit einem StoryBook schreibt ein Programmierer „Geschichten“ in JavaScript-Dateien. Bei der Arbeit mit Stuleguidist schreibt er „Beispiele“ in Markdown-Dateien. Während in einem StoryBook jeweils nur eine Variation einer Komponente angezeigt wird, kann Styleguidist mehrere Variationen verschiedener Komponenten anzeigen. StoryBook eignet sich hervorragend zum Analysieren der verschiedenen Zustände von Komponenten, und Styleguidist eignet sich hervorragend zum Generieren von Komponentendokumentationen und zum Demonstrieren von Komponentenfunktionen.
Architekturentscheidungen, die unter Verwendung der CDD-Methodik verwendet werden
Arbeiten im CDD-Stil bedeutet, dass bei der Entwicklung von Anwendungen zuerst Komponenten erstellt werden. Darüber hinaus sollten solche Komponenten so unabhängig wie möglich voneinander sein. Dies bedeutet, dass der Entwickler nicht nur einen „Satz von Komponenten“ erstellt. Er implementiert auch das sogenannte
Design-System von Benutzeroberflächenkomponenten.
Komponenten können sowohl im Rahmen der Anwendung selbst (dh im selben Projekt Repositorys) als auch im Format eines separaten Projekts (Repository) - in Form einer Komponentenbibliothek - erstellt werden.
Mit Tools wie Bit können Sie Komponenten isolieren und kapseln. Dies gibt dem Entwickler ausreichend Gelegenheit, Komponenten zu erstellen, zu testen und wiederzuverwenden, und ermöglicht es, sie überall zu finalisieren - unabhängig davon, wo sie erstellt wurden.
Wenn wir sagen, dass die Verwendung von CDD die Entwicklung von Komponenten in Form des ersten Arbeitsschritts eines Projekts vorsieht, bedeutet dies auch, dass die Komponenten dazu neigen, sie für die wiederholte Verwendung geeignet zu machen. Auf diese Weise können Sie sie beim Erstellen verschiedener Anwendungen anwenden. Daher muss der Entwickler genau herausfinden, wie er vorgehen muss, um solche Komponenten zu erstellen. Es gibt nichts Schlimmeres, als sechs Monate damit zu verbringen, eine
Bibliothek zu erstellen, die am Ende niemand nutzen wird. Leider passiert dies bei vielen Teams.
Warum eine Komponentenbibliothek erstellen?
Ich bin ehrlich zu Ihnen: Git-Repositorys wurden nicht unter Berücksichtigung der Möglichkeit konzipiert, Code für atomare Komponenten darin zu speichern, die in verschiedenen Projekten gemeinsam genutzt werden sollen. Um dieses Problem zu lösen, sind Paketmanager nicht geeignet. Beide wurden erstellt, was verständlich ist, um Code-Repositorys zu unterstützen. Komponenten sind keine Repositorys.
Teilen einer Komponente in verschiedenen ProjektenAus diesem Grund müssen Sie ein neues Repository erstellen, falls Sie eine Komponente aus einer Anwendung nehmen und in einer anderen Anwendung verwenden müssen. Um sich die unnötige Arbeit beim Erstellen eines separaten Repositorys für jede dieser Komponenten zu ersparen, erstellen die meisten Teams ein gemeinsames Repository zum Speichern von 20 bis 30 Komponenten.
Bei Verwendung eines Tools wie Bit muss die Komponentenbibliothek als solche nicht. Mit solchen Tools können Sie eine Komponente aus der Anwendung in die Cloud herunterladen und diese Komponente in anderen Projekten implementieren. Wenn wir dieses Arbeitsschema mit herkömmlichen Repositories vergleichen, können wir sagen, dass dies so etwas wie ein Vergleich einer Musik-CD und von Spotify ist. Wenn Sie der Idee, Komponentenbibliotheken zu entwickeln und zu verwenden, nahe sind, können Sie mit den Funktionen von Plattformen wie Bit und StoryBook mit Bibliotheken arbeiten.
Beim Entwerfen einer Bibliothek müssen Sie mehrere wichtige Entscheidungen treffen. Im Folgenden werden einige wichtige Grundsätze aufgeführt, die Ihnen dabei helfen werden. Der Hauptpunkt dieser Prinzipien ist, dass Ihre Aufgabe darin besteht, unabhängige Komponenten zu erstellen. Die verbleibenden Arbeitsschritte am Projekt ähneln der Montage des Lego-Konstruktors. Wenn das Prinzip der Entwicklung unabhängiger Komponenten nicht eingehalten wird, können eines Tages Probleme auftreten. Probleme beginnen, wenn jemand etwas anderes als das in der Bibliothek benötigt. In diesem Fall verwenden die Teams in diesem Fall keine Komponentenbibliotheken mehr.
Angenommen, Sie möchten eine Komponentenbibliothek erstellen. Dann bieten wir Ihnen einige Tipps, die Ihnen dabei helfen.
7 Prinzipien für die Entwicklung hochwertiger CDD-orientierter Bibliotheken

- Standards Welche Entwicklungsstandards halten Sie beim Erstellen Ihrer Bibliothek ein? Wo befinden sich die Komponenten? Wo befinden sich die Tests? Was ist mit den Stilen? Welchen Technologie-Stack verwenden Sie? Zum Beispiel - planen Sie TypeScript zu verwenden? Wie sind die Komponenten aufgeteilt? Besteht die Komponente "Tabelle" beispielsweise aus "Zeilen" und "Zellen"? Besteht das Bedienfeld mit Registerkarten aus separaten Registerkarten (können dieselben Fragen in Bezug auf andere ähnliche Entitäten gestellt werden)? Ich nehme an, Sie haben die Bedeutung dieser Empfehlung bereits verstanden. Es ist auch sehr wichtig, Designer in den Prozess der Erstellung von Standards einzubeziehen. Dadurch wird sichergestellt, dass die Bibliothek flexibel genug ist und die künftigen Entwurfsanforderungen erfüllt.
- Stilisierung. Wie wollen Sie die Komponenten gestalten? Verknüpfen Sie den entsprechenden CSS-Code mit jeder Komponente? Wenn ja, was passiert, wenn ein Designer etwas nur für eine separate Anwendung ändern muss, die eine Komponente verwendet? Vielleicht lohnt es sich, Bibliotheken zu verwenden, die CSS in der JS- Technologie implementieren, um die Trennung von Komponenten und Stilen zu verbessern? Vielleicht lohnt es sich, nach einem anderen Ansatz für das Styling zu suchen? Mit Bit können Sie beispielsweise Themen als separate Komponenten hervorheben. Solche Themen können auf Komponenten angewendet werden, die eine Art Logik implementieren. Auf diese Weise können Sie Anwendungen erstellen, in denen Design und Logik genau nach den Anforderungen des Entwicklers kombiniert werden. Hier ist ein Beispiel für die extreme Flexibilität von Systemen, die nach dem Prinzip der Modularität aufgebaut sind.
- Testen. Wie werden Sie die in der Bibliothek enthaltenen Komponenten testen ? Scherz und Enzym? Die Auswahl einer guten Kombination von Komponentenprüfwerkzeugen sollte mit aller Verantwortung angegangen werden. Auf diese Weise können Sie mit solchen Tools die CDD-Methodik implementieren. Eine schlechte Auswahl der Werkzeuge beeinträchtigt die Arbeit. Unit Tests sind gut. Sie sollten jedoch die funktionalen APIs der Komponenten überprüfen, nicht die Details ihrer Implementierung. Integration und End-to-End-Tests sind genauso wichtig wie Unit-Tests. Die TDD-Methode funktioniert gut, wenn sie in Projekten mit CDD angewendet wird.
- Code-Assemblierungsprozess. Der Code muss kompiliert werden. Wie organisieren Sie den Code-Erstellungsprozess für Ihre Bibliothek? Wie werden die Releases implementiert? Planen Sie, den Code einfach aus der Anwendung zu kopieren und in die Bibliothek einzufügen (wahrscheinlich ein wenig zu ändern)? Definieren Sie Assemblykonfigurationen für jede Komponente (Lerna) und wenden die entsprechenden Mechanismen auf den Code an, bevor Sie ihn veröffentlichen? Planen Sie beispielsweise, das bereits erwähnte Bit mehrmals zu verwenden, um die Erstellungsprozesse anzupassen, die für alle (oder für einzelne) Komponenten gelten? Wenn Sie den Montageprozess zu kompliziert machen, wird es schwieriger, sich an der Entwicklung zu beteiligen, und die Modularität des Projekts wird sich verschlechtern. Die für die Teilnahme an der Entwicklung erforderliche Lernkurve wird zu steil.
- Codeverwaltung. Wem gehört die Bibliothek? In relativ großen Organisationen gibt es häufig Teams von Front-End-Entwicklern und manchmal auch Architekten. Sie erstellen ein Produkt namens "Shared Library". Andere Front-End-Entwicklungsteams erstellen Anwendungen mit ähnlichen Bibliotheken. Bei diesem Interaktionsschema ist es sehr wichtig, ein System zu verwenden, mit dem Sie die erforderlichen Komponenten (Bit, Storybook) bequem finden können. Wichtiger ist vielleicht der Mechanismus, mit dem Komponentenbenutzer Komponentenverbesserungen vorschlagen können. Wenn es in der Organisation keine derartigen Mechanismen gibt, möchten die Komponentenbenutzerteams ihre Anwendungen nicht mit der Bibliothek verknüpfen und warten, bis ihre PR akzeptiert wird, worauf sie möglicherweise nicht warten. Programmierer müssen nicht gezwungen werden, irgendetwas zu tun. Es ist notwendig, eine gesunde Zusammenarbeit aufzubauen. Wenn Sie dies nicht anstreben, wird niemand die Bibliothek benutzen. Programmierer kopieren einfach den Code und fügen ihn ein, und niemand wird etwas dagegen unternehmen. Darüber hinaus wird dies Ihr Fehler sein. Wenn Sie in einem kleinen Team arbeiten, bestimmen Sie klar, wer den Code verwaltet. Selbst wenn sich ständig niemand mit der Codebasis beschäftigt, wählen Sie einige Spezialisten aus, die diesen Code unterstützen. Der Rest macht PR - genau wie bei GitHub.
- Komponenten finden. Die Bibliothek bringt keinen großen Nutzen, wenn Programmierer die benötigten Komponenten nicht finden, nicht lernen können, wie diese Komponenten funktionieren, und sie nicht in ihrem Code verwenden können. Bit verfügt über die integrierten Funktionen, mit denen Entwickler Komponenten finden können. Zusätzlich zu dieser Plattform (oder stattdessen) können Sie die Funktionen von StoryBook oder einer eigenen Lösung nutzen. Die Codesandbox- Plattform kann einige Vorteile bei der Lösung von Problemen im Zusammenhang mit der Auswahl von Komponenten und der Arbeit mit deren Dokumentation bieten.
- Organisation der Zusammenarbeit an Komponenten. Was passiert, wenn ein Entwickler (möglicherweise aus einem anderen Team oder sogar aus einem anderen Land) etwas ändern muss, das mit einer Komponente aus Ihrer Bibliothek zusammenhängt? Muss er tiefer in die Erstellung einer PR für Ihre Bibliothek einsteigen und mit gekreuzten Fingern auf die Ergebnisse warten? Für viele Entwickler ist dies zu kompliziert, sie werden dies nicht tun, selbst wenn Sie versuchen, sie irgendwie zu beeinflussen. Es ist viel besser, wenn Sie eine bestimmte Plattform verwenden, die die Zusammenarbeit bei Projekten vereinfacht.
Denken Sie daran, dass eine Bibliothek nur ein vorhandenes Repository ist, um die gemeinsame Nutzung von Komponenten in verschiedenen Projekten zu erleichtern. Bibliotheken skalieren nicht sehr gut, der Code in ihnen ist veraltet, sie leiden unter verschiedenen Problemen. Es ist möglicherweise besser, einfach über eine Art Cloud-Plattform direkten Zugriff auf die Komponenten zu gewähren, die für die Freigabe vorgesehen sind.
Vorteile des CDD-Teams
Teams, die das CDD-Prinzip verwenden, profitieren von einer beschleunigten Entwicklung, einer verbesserten Wiederverwendbarkeit des Codes, einer verbesserten TDD und einer konsistenten Design-Systemschnittstelle.
Programmierer können Code mit Zugriff auf bereits geschriebene Komponenten schreiben und zusammenarbeiten, um Änderungen an den Komponenten vorzunehmen. Bei der Entwicklung neuer Funktionen oder Anwendungen müssen die Basiskomponenten angepasst und erweitert werden. Dies hilft außerdem, Fehler zu vermeiden, die nur in der Produktion auftreten.
Das Teilen von Code bedeutet unter anderem, die Menge an Code zu reduzieren, die unterstützt werden muss. Dadurch können sich Programmierer darauf konzentrieren, etwas Neues zu erstellen. Wenn Anwendungen auf der Basis von Komponenten entwickelt werden, wird die Arbeit dadurch standardisiert, dass jeder eine einzige Basis von Anwendungsbausteinen verwendet. Der Komponentenansatz trägt auch zur Arbeitsflexibilität bei.
Einige Teams berichten, dass ihre Workflows dank der Verwendung modularer Komponenten, die auf Entwurfssystemen basieren, die als Sätze von React-Komponenten implementiert sind, um bis zu 60% schneller geworden sind. Einige Organisationen haben festgestellt, dass sie durch die Einführung von CDDs ungefähr 30% des Codes aus ihren Codebasen entfernen können.
Unternehmen wie
Uber, Airbnb, Shopify und andere führen einen Komponentenansatz ein.
Zusammenfassung
Persönlich wundert es mich nicht, dass der Einsatz von CDD die Effizienz der Softwareentwicklung verbessert. Laut Brad Frost, Autor des Buches über Atomdesign, sind Modularität und Zusammensetzung die wichtigsten Konzepte in Biologie, Wirtschaft und in vielen anderen Bereichen. Die Modularität der Anwendung für die Softwareentwicklung bietet Geschwindigkeit, Zuverlässigkeit und einfache Entwicklung. Es fördert die Wiederverwendung von Entitäten, verbessert die Testbarkeit und Erweiterbarkeit des Codes. Durch die Modularität kann der Entwickler beim Erstellen komplexer Systeme die Komposition verwenden. All dies wirkt sich sehr gut auf den Prozess und die Ergebnisse der Anwendungsentwicklung aus.
Liebe Leser! Verwenden Sie die CDD-Methode, wenn Sie an Ihren Projekten arbeiten?
