Starten eines persönlichen rebuasable Code Repository

8

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?

    
Rob Stevenson-Leggett 09.05.2010, 12:57
quelle

4 Antworten

3

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 ;-)

    
phkahler 09.05.2010, 13:01
quelle
2

Ich würde mit einem leichten Ansatz gehen:

  • Verwenden Sie Git oder Mercurial, möglicherweise mit Dropbox, wenn Sie nicht gehostet werden wollen: Sie wollen Versionskontrolle, egal was Sie tun, und verteilte Versionskontrolle ist besonders perfekt, wenn Sie nicht teilen wollen; kein zentrales Repository erforderlich
  • Speichern Sie, was immer Sie verwenden. Verbringen Sie keine Zeit damit, Code zu erstellen, weil Sie denken, dass Sie ihn später wiederverwenden werden. warten Sie, bis Sie es zweimal schreiben, bevor Sie eine Arbeit hinzufügen. Dann werfen Sie die duplizierte Arbeit hinein, und Sie werden bereit sein, wenn es ein drittes Mal passiert.
  • Erstellen Sie ein Verzeichnis pro Sprache; Sie können Java schließlich nicht in Python wiederverwenden

Hier ist eine Verzeichnisstruktur, die Sie ausprobieren könnten:

%Vor%     
ojrac 09.05.2010 13:24
quelle
1

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.

    
anon 09.05.2010 13:35
quelle
1

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.

    
DVK 09.05.2010 13:46
quelle

Tags und Links