Dies mag sehr subjektiv sein und hängt von Ihrer Psychologie und Sensibilität ab, aber meine langlebigsten Bibliotheken, die ich für meine persönlichen Projekte verwendet und über die Jahre nicht gehasst habe, waren immer meine kleinsten, isoliertesten (keine externen Abhängigkeiten dazu) andere Bibliotheken).
Das liegt daran, dass es nur einer blöden oder archaischen Idee bedarf, um meine gesamte Wahrnehmung der Bibliothek durcheinander zu bringen. Als ob ich einen völlig vernünftigen C-Code hätte, um Formen in einer Zeichnungsbibliothek zu rastern, außer dass dies von einer Bild- und Mathematikbibliothek abhängt, die ich in den 90er Jahren gegen 16-Bit-Bilder geschrieben habe, die im Nachhinein jetzt völlig beschissen sind. Ich könnte auch eine C ++ - Parsing-Bibliothek mit anständigem Parsing-Code und AST-Code haben, außer ich habe sie mit einem monolithischen Parsing-Stream gekoppelt, der im Nachhinein ein wirklich dummes und unpraktisches Design war. Jetzt fühlt sich das Ganze wie Scheiße an. Der größte Teil meines C ++ - Codes aus den 90ern ist für mich jetzt totaler Mist, da ich damals nicht wirklich wusste, wie man effektiv in C ++ entwirft, und dumme Dinge wie die Verwendung von Vererbung zum "Erweitern" getan habe. und bieten Superset-Funktionen zur Bildung von Klassen mit mehr als 100 Mitgliedern und albernen Abstraktionen, anstatt geeignete Subtypen mit minimalistischen Schnittstellen zu modellieren. Mehr von meinem C-Code hat meinen Shite-Filter überlebt, wenn auch nur einen Bruchteil. Meistens habe ich mir einen Berg Scheiße ausgedacht. Die kleinen Goldnuggets, die ich heraussuchen konnte, waren immer der am meisten entkoppelte, minimalistische Code mit der größten Singularität des Zwecks und oft abhängig von wenig mehr als primitiven Datentypen.
Dann möchte ich mich nicht einmal mehr mit diesen Bibliotheken beschäftigen, außer vielleicht den Code auf eine neue Bibliothek zu portieren, die sich nicht mit diesen befasst und nur gegen rohe 32-Bit- und 128-Bit-Pixel arbeitet und die Vektormathematik einbindet, anstatt davon abhängig zu sein eine externe Mathe-Bibliothek für beispielsweise die Rasterisierungs-Bibliothek. Dann hält der Code viel länger und macht mich glücklich. Ich bin ein bisschen zynisch mit meinen Ansichten über Bibliotheken. Ich neige dazu, sie nach den schwächsten Gliedern anstatt nach den stärksten Gliedern zu beurteilen. Ich kann das Schlechte nicht zugunsten des Guten übersehen, bis das Schlechte vollständig aus dieser Bibliothek entfernt ist.
Deshalb stimme ich für die kleineren, unabhängigeren Bibliotheken, da sie zumindest für mich eine geringere Wahrscheinlichkeit haben, sich später beschissen zu fühlen. Wenn Sie in einem Team arbeiten, würde ich mit stärkeren Standards noch mehr dafür stimmen, um die Bibliotheken voneinander zu entkoppeln, da sie mit vielen Händen sehr schnell chaotisch werden können, es sei denn, sie haben einen sehr besonderen Zweck und ein Ziel in Richtung Minimalismus (auf der Suche nach Gründen, nicht mehr hinzuzufügen, anstatt immer Gründe zu finden, mehr hinzuzufügen - Sie können nicht hassen, was Sie nicht hinzufügen) ... obwohl es sich nach der Frage anhörte, dass dies eher für persönliche Projekte war, wo vielleicht Psychologie Faktoren in mehr. Aber weiter würde ich dafür stimmen, sehr entkoppelte Teile der Funktionalität abzuspalten. Sie müssen Ihr Framework nicht unbedingt sofort auf alle gewünschten Teile aufteilen. ICH'