Ich wollte schon seit einiger Zeit eine Bibliothek wiederverwendbarer Code-Snippets starten und komme nie dazu. Im Moment habe ich nur einige flüchtige Klassen / Dateien, die ich aus alten Projekten heraushole.
Ich denke, meine Hauptprobleme sind:
Wo soll ich anfangen? Welche Struktur sollte? mein Repository nehmen? Sollte es ein kompilierte Bibliothek (wo zutreffend) oder nur Klassen / Dateien, in die ich mich fallen lassen kann irgendein Projekt? Oder ein Bibliotheksprojekt das kann enthalten sein? Was sind die Lizenzierung Auswirkungen davon?
Nach meiner Erfahrung gebaut / verkleinert Bibliothek wird schnell aus Datum und die Quelle wird verloren gehen. Damit Ich lehne mich an die Quelle, die ich kann Export von SVN und in jedem enthalten Projekt.
Geistiges Eigentum. ich bin Angestellt, also viel Code ich Schreiben ist nicht meine IP. Wie kann ich sicherstellen dass ich mein eigenes IP nicht weg gebe Verwenden Sie es auf Projekte in Arbeit und bei Zuhause? Ich denke, der beste Weg würde sei es, meine Bibliothek mit einem offenen zu lizenzieren Quelllizenz und stelle sicher, dass ich nur fügen Sie es in meiner eigenen Zeit hinzu, meine eigene verwendend Ausrüstung und damit sicherstellen dass, wenn ich es in einem Arbeitsprojekt verwende Es gelten die gleichen Regeln wie bei mir Verwenden einer Drittanbieter-Bibliothek.
Ich schreibe in vielen verschiedenen Sprachen und würde oft zwei oder mehr erfordern Teile dieser Bibliothek.
Soll ich ein paar umsetzen? Vorlagenprojekte und ein Kernprojekt für jeden meiner gewählten wiederverwendbar Komponenten und Sprachen?
Hat jemand anderes diese Art von Bibliothek und wie organisiert und aktualisiert man sie?
Regel Nummer eins. Wenn Sie es für sich selbst verwenden möchten, verwenden Sie es nicht bei der Arbeit und arbeiten Sie nicht bei der Arbeit daran. Selbst unter diesen Bedingungen werden einige Arbeitgeber denken, dass sie sie besitzen, selbst wenn Sie während des Zeitraums (Kalenderzeit), in dem Sie für sie gearbeitet haben, daran gearbeitet haben. Manche sind vielleicht sogar lächerlicher. Also erwähne nicht einmal, dass es existiert.
Nachdem Sie das gesagt haben, können Sie es unter einer BSD-Lizenz auf Sourceforge verwenden, damit Sie es mit Ihrem NEXT-Arbeitgeber verwenden können, vorausgesetzt Sie klären die Grundregeln im Voraus - sagen Sie ihnen, dass Sie eine solche Bibliothek greifen und möglicherweise, dass Sie sie geschrieben haben / p>
IANAL - Ich bin kein Anwalt. Vielleicht möchten Sie sich mit einem beraten.
Ich arbeite lieber an meinen Sachen und an meinen Maschinen und erwähne das nie. Dann, wenn Unternehmen mich bitten, eines dieser "wir besitzen alle Ihre Sachen" zu unterzeichnen, stelle ich sicher, dass es nicht für Dinge zu Hause gilt - das hat erfordert, dass es in einigen Fällen geändert wurde. Selbst in diesem Fall, wenn ich den Code bei der Arbeit verwenden wollte, würde ich befürchten, dass ich den Besitz verlieren könnte, weil einige dieser Zeilen verschwommen waren.
Mach dir keine Sorgen, das Rad neu zu erfinden. Sie zahlen Ihnen, um Software zu schreiben. Und wenn das Leben wirklich einsetzt, haben Sie sowieso weniger Zeit für Hobby-Programmierung ;-)
Ich würde mit einem leichten Ansatz gehen:
Hier ist eine Verzeichnisstruktur, die Sie ausprobieren könnten:
%Vor%Das Problem mit Ihrer Idee und mit dem Konzept von Code-Snippets im Allgemeinen ist, dass es schlecht fällt, wenn Ihr Snippet einen Fehler enthält. Für den Snippet-Ansatz müssen Sie den Fehler im Quellcode aller Anwendungen beheben, die das Snippet verwendet haben. Wenn Sie auf der anderen Seite binäre Bibliotheken erstellen, müssen Sie den Fehler nur einmal im Bibliothekscode beheben, ihn dort testen, erneut verknüpfen, die Regressionstests Ihrer App ausführen und fertig. Deshalb verabscheuen professionelle Programmierer Code-Snippets.
Wie Neil gesagt hat, hängt eine Menge der Implementierungsdetails der Antwort von Ihrer Sprache ab.
Sie haben jedoch zwei sehr gültige Punkte:
Es ist besser, die Bibliothek aus verständlichen Gründen auch für kompilierte Sprachen im Quellcode zu haben
Wenn Sie das IP behalten und es außerhalb der Arbeit verwenden möchten, dann tun Sie es 100% außerhalb der Arbeit, Lizenz mit einer sehr permissiven Lizenz. So etwas wie die zlib-Lizenz könnte angebracht sein.
Noch ein Punkt - Sie sind besser dran, wenn Sie sicherstellen, dass Ihr Arbeitgeber mit diesem Code in Ordnung ist !!! . Sie können anonym / unter einem Pseudonym veröffentlichen, wenn diese Erlaubnis schwer / nicht durchführbar ist.
Tags und Links language-agnostic resources