0

Ich habe festgestellt, dass viele Bibliotheken und Frameworks ein wenig zu unhandlich und schwer zu pflegen scheinen. Ich mag die Art und Weise, wie sich FlashGameDojo diesem Problem nähert, indem die Verwendung von Snippets gefördert wird, die nach Bedarf in Code eingefügt werden können. Offensichtlich gibt es bei diesem Ansatz auch Nachteile wie den Versuch, verschiedene Codeabschnitte im Auge zu behalten.Snippets vs. Frameworks

Ich frage mich, ob es einen vereinbarten Ansatz zur Verwaltung dieser Art von Code-Bibliothek gibt. Wie halten Sie jedes Snippet frisch, finden Sie die, die Sie für ein Projekt benötigen, usw. Wenn es keine "Best Practice" dafür gibt, können Sie vielleicht einige Ihrer Erfahrungen teilen.

Danke!

Antwort

1

Frameworks neigen dazu, auch Kosten zu haben. Während sie viele sich wiederholende Aufgaben abstrahieren können, haben sie eine Lernkurve. Das Gute daran ist, dass die Dokumentation in der Regel sehr gut ist. Als Beispiele nenne ich CakePHP und Symfony.

Snippets waren immer hilfreich, aber früher oder später macht es die Codebase lückenhaft. Es braucht Brainpower, um auch die verschiedenen Codeschnipsel zu verstehen. Der Code stammt aus verschiedenen Quellen, daher wird es keine zentrale Informationsquelle geben.

Für mich ist der größte Faktor bei der Auswahl zwischen Frameworks und Snippets meine Fähigkeiten und die Fähigkeiten der anderen Leute im Team. Kommunikation ist der Schlüssel.

Teams, in denen Entwickler mit dem Lesen von Dokumentation einverstanden sind, sollten sich an Frameworks halten. Ich bin in solchen Teams gewesen, und Entwickler tendieren dazu, auf Nummer sicher zu gehen. Solch ein Team tendiert dazu, schnell standardisierte Aufgaben zu erfüllen, indem es die API des Frameworks nutzt. Wenn Anpassungen jedoch erforderlich sind (weil Clients Änderungen vornehmen), werden sie langsamer ausgeführt. Die Vorteile eines solchen Teams liegen darin, dass jede Person potenziell für eine andere Person einspringen kann. Der größte Nachteil ist jedoch, dass die mangelnde Spezialisierung die Menschen weniger an ihre Arbeit bindet.

Teams, in denen Entwickler mit dem Lesen des Codes einverstanden sind, sollten mit Snippets arbeiten. Ich bin auch in solchen Teams gewesen, und die Entwickler neigen dazu, ein bisschen mehr zu wissen. Sie sind sehr schnell in der Anpassung, aber sie bleiben stecken, wenn sie sich wiederholende Aufgaben erledigen. Jeder Entwickler hat eine Identität, die ihm wichtig ist. Es ist sehr wahrscheinlich, dass sie stolz auf ihre Arbeit sind und alles tun werden, um vor ihren Kollegen "cool auszusehen". Der größte Nachteil ist jedoch, dass einige Entwickler pompöse Idioten sein können.

+0

danke für dein Feedback. Ich denke, das ist größtenteils für mich alleine arbeiten. Ich habe viel Code, den ich immer und immer wieder verwende, aber ich möchte nicht unbedingt meine eigene "MimsLib" haben. Haben Sie einen Einblick, wie Sie verhindern können, dass die Snippets selbst zu unordentlich werden? –

+0

Ich denke, solange der Entwickler, der den Code verwaltet, leicht nachverfolgen kann, wo jedes Snippet ist, ist es in Ordnung. Code zu pflegen ist etwas, was sehr wenige Entwickler vermeiden können, also ist es eine gute Sache, Dinge so zu arrangieren, dass es weniger langweilig wird. –

1

Meine erste Einstellung wäre, ein einzelnes oder mehrere Projekte zu behalten, die den gesamten Code enthalten, den Sie erneut verwenden möchten. Es macht Sinn, den Code durch Ordner/Namespaces aufzubrechen.

Dann können Sie dieses Projekt in andere Projekte aufnehmen und den Code direkt verwenden, ohne dass Sie kopieren/einfügen müssen.

Vorteile: Sie sehen sofort, wenn Code kaputt ist (es wird nicht kompiliert), Sie sehen sofort, ob eine Funktion/Methode nicht spezifisch genug für Ihre aktuellen Bedürfnisse ist. Dann können Sie entscheiden, ob Sie den Code aktualisieren oder erweitern möchten.

Vorzug zwei wäre die Verwendung eines Online-Snippet-Managers (da es von überall zugänglich ist). Sie werden die Fähigkeit verlieren, etwas nur an einer Stelle zu reparieren, da Sie diesen Code kopieren/einfügen werden.

Ein Beispiel für einen Online-Snippet-Manager ist http://www.int64.io - Sie können Snippets in "Boards" (wie Ordner) organisieren, Sie können sie mit vordefinierten oder eigenen Tags versehen. Sie können die Snippets in naher Zukunft durchsuchen.

Es gibt andere Schnipsel-Manager als auch, wie GitHub Gist, jsfiddle, codepen usw.

Disclaimer: Ich bin der Besitzer http://www.int64.io

0

Es gibt GitHubGist, wo Sie halten können und Ihre Schnipsel organisieren . Ich mag die GistBoxApp, die damit integriert ist und eine schönere (und besser organisierte) Benutzeroberfläche hat.

Ich habe versucht, die Dinge in Evernote zu behalten, aber weil es die Dinge nicht schön formatiert hält, habe ich das schnell aufgegeben. (Und es war eine schwere Sache aufzugeben - ich habe 15K Notizen in Evernote für alles in meiner Welt bereits.)

Das Beste an GistBoxApp ist, dass ich Schnipsel behalten kann, die mich entweder mit Dateien beginnen oder haben meine schrulligen kleinen Funktionen, mit denen ich mich emotional verbunden fühle.