15

Welche Tools oder Ansätze würden Sie einem "Ein-Mann-Team" empfehlen, um sich zu organisieren?Wie kann ich all meinen Code, Daten, Skripte, Aufgaben usw. organisieren?

Ich mache Forschung, die eine Menge Codierung umfasst, schreiben Hunderte von Einweg-Perl-Skripten, C++ - Binärdateien, die verwendet werden, bis ich einen besseren Ansatz, große Mengen von Daten finden, die auf verschiedene Arten vorverarbeitet, wo einige neue Vorverarbeitung macht den alten Weg obsolet - bis ich herausfinde, dass der alte Weg tatsächlich besser war und so weiter. Meine Arbeit ist von Natur aus ein bewegliches Ziel, da ich viele Dinge ausprobieren muss, und oft ist nichts davon perfekt.

Es ist keine völlig chaotische Situation, aber es ist auch nicht perfekt. Gibt es allgemeine Ansätze, die Sie in einer solchen Situation empfehlen würden? Ich verwende SVN für meinen Code, aber nicht für die verschiedenen Versionen der Daten, weil das zu groß wird. Es ist schwer, alle Scripts und Binaries im Auge zu behalten, also kommentiere ich sie immer, schreibe auf, wie ich sie ausgeführt habe usw. Aber ich bin neugierig, ob du noch weitere Ideen hast.

(Ich arbeite auf einem Linux-System.)

Antwort

2

Halten alle Code in Ihrer Version Control System, und erstellen build/Ausführen von Skripts für jeden. Ihre Daten müssen Sie sorgfältig archivieren (da Sie sie nicht in SVN einfügen wollen).

Die andere Sache, die ich hinzufügen würde wäre ein Wiki, so dass Sie schnell Notizen über jeden Test/Skript/Anwendung machen können.

1

Warum nicht einige Opensource-Projekte auschecken, um zu sehen, wie sie ihre Codebasen organisieren?

obwohl Sie ein Ein-Mann-Team sind. Es wäre klug, Ihr Projekt so zu organisieren, dass es leicht wäre, weitere Programmierer hinzuzufügen.

auch wenn Sie über die Dateigröße für Datendateien besorgt sind, möchten Sie vielleicht git überprüfen. Die Indexgröße ist normalerweise viel kleiner als die von svn.

3

Ich benutze ein Wiki (TiddlyWiki in meinem Fall, da läuft das absolut überall - alles was es braucht ist ein Browser mit JavaScript) als mein "Engineers Notebook". Fast alles geht hinein - Fragenlisten (und später ihre Antworten), Prozeduren (Schritt für Schritt Anweisungen), Notizen, was ich wo hingelegt habe (könnte für Ihre "Daten" funktionieren), Telefonnummern (leicht zu finden mit einer vollen Textsuche), alles geht.

Da meine Aufgaben nicht so Code-schwer sind, verwende ich sogar Code-Snippets (meistens SQL-Anweisungen für mich). Die Verwendung eines "echten" Versionierungssystems ist besser, wenn Sie verschiedene Versionen verfolgen möchten. Anders als "benutze es" kann ich keinen spezifischen Rat für diesen Bereich anbieten.

Aber was war mir in GTD-Mode wichtig: Verwenden Sie für fast alles ein einfaches System. Auf diese Weise wird die Zeit verkürzt, nach etwas zu suchen und zu entscheiden, was wo zu platzieren ist.

+0

Ja, und wenn Sie das Trac-Wiki verwenden, können Sie die Seiten in Subversion einfach mit Ihrem Code verknüpfen – soemirno

1

Versionskontrolle ist ein Muss, wie andere sagten. Die beschreibenden Bezeichnungen von Meilensteinen in Version Control sind sehr hilfreich, denke ich.

Auch als IronGoofy sagte, halte ich meine Schnipsel in meinem Personal WikiTiddlyWiki, ich hochgeladen es auf meiner Website, so kann ich es überall zugreifen können, jederzeit. Als zusätzliche Option können Sie eine Time Tracker Anwendung denken. Es gibt viele Freizeit-Tracker.Ich benutze ASP.NET's Time Tracker Starter Kit. Sie können die Entwicklung Ihrer Software, Bugfixes, Meilensteine ​​beibehalten.