Gute Verzeichnisstruktur?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Sophus hat geschrieben:Man könnte src auch einfach den Namen meines Projektes geben, aber mein Top-Level-Ordner, also der aller erste Ordner trägt ja schon den Namen meines Projektes.
Na und? Einmal ist es der Projektname (bzw Name des Repos) und einmal ist es der Paketname.
Benutzeravatar
Sophus
User
Beiträge: 1109
Registriert: Freitag 25. April 2014, 12:46
Wohnort: Osnabrück

@snafu: So nach dem Motto "Doppelt hält besser"? Verzeih für mein Anfängerverhalten. Denken wir kurz von GitHub und sonstige Plattformen weg (weil du Repo angesprochen hast). Wenn ich auf mein D:\ Laufwerk gehe, sehe ich einen Ordner xarphus, also weiß ich, es handelt sich um mein Projekt. Öffne ich den Ordner, dann sehe ich nochmal den Ordner xarphus neben anderen Dateien wie LICENCE, README, DISTRIBTION etc.? Kommt mir irgendwie seltsam vor. Liegt aber auch daran, dass ich dieses "Denken" noch nicht gewohnt bin?
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

@Sophus:
Beim Stichwort Repo gehts hier nicht um irgendeine Quelltextplattform im Internet, sondern um Dein Repo (Das Projekt ist hoffentlich mit einem VCS Deiner Wahl versehen.) Ansonsten wurden Dir doch schon genug Bsp. genannt, von denen Du Dir Deine Struktur ableiten kannst.

Üblich für Python ist z.B. alles Projektbezogene (Lizenz, LIESMICH, Doku, Pythonpaketordner etc.) auf oberster Repoebene zusammenzuführen (Projektordner - der Name ist hier Schall und Rauch und eigentlich nur für Dich wichtig zum Wiederfinden/Identifizieren des Projektes). Die Pythonpaketordner heissen dann so, wie sie im Pythonimport auftauchen sollen (bei Dir wahrscheinlich 'xarphus', 'xarphus.core' etc.). Im besten Falle deutet der Name der Pakete/Module die Funktionalität an. Auch sollte da alles rein, was fürs korrekte Ausführen des Pythoncodes von Belang ist. Alles andere fliegt da raus. Warum? Weil Du so Distributoren das Leben leichter machst und später z.B. im Pythonpfad nur laufzeitrelevante Dateien landen. So lagern Distributoren z.B. die Doku lieber unter /usr/share/doc aus.
Benutzeravatar
Sophus
User
Beiträge: 1109
Registriert: Freitag 25. April 2014, 12:46
Wohnort: Osnabrück

@jerch: Was ist ein VCS?
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Sophus hat geschrieben:@jerch: Was ist ein VCS?
http://lmgtfy.com/?q=VCS+programming
Benutzeravatar
Sophus
User
Beiträge: 1109
Registriert: Freitag 25. April 2014, 12:46
Wohnort: Osnabrück

@snafu: Ich verstehe, also "VCS Verkehrs-Club der Schweiz"? :mrgreen:

Nein, habs schon verstanden, dass es Version Control System bzw. Versionsverwaltung meint. Sowas wie Github oder Bitbucket.

EDIT:
Jetzt schummelst du, snafu 8) Du hast den google-Link schön verändert, weil dir der Verkehrs-Club der Schweiz nicht gefällt :-)
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Sophus hat geschrieben:EDIT:
Jetzt schummelst du, snafu 8) Du hast den google-Link schön verändert, weil dir der Verkehrs-Club der Schweiz nicht gefällt :-)
Ja, da war ich etwas zu vorlaut. :mrgreen:
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

Sophus hat geschrieben:Nein, habs schon verstanden, dass es Version Control System bzw. Versionsverwaltung meint. Sowas wie Github oder Bitbucket.
Naja nicht ganz. Diese Plattformen zeigen Dir nur einen Teil dessen, was heutige VCS leisten können und haben zusätzliche Funtionalität, welche nicht aus dem zugrundeliegenden VCS kommen. Daher VCS != Github bzw. Bitbucket. Bekannte VCS sind z.B. git, mercurial, Subversion und CVS.
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

@Sophus: Was jerch möglicherweise sagen will: Ein VCS muss nicht zwangsläufig ins Internet gestellt werden. Ein VCS dient einfach dazu, den Fortlauf eines Projekts in einer Art Historie darzustellen, sofern man es denn entsprechend verwendet. Es zeichnet sich dadurch aus, dass alte Stände angesehen und ggf auch zurückgeholt werden können. Du kannst mithilfe von Kommentaren in einer Übersicht immer schön sehen, wann was gemacht wurde.

Ein heutiges VCS unterstützt auch mehrere Zweige. Daher kann z.B. Python 2.7 neben dem aktuellen Python 3.x entwickelt werden. Manche Neuerungen werden in beide Zweige eingespielt, andere nur in den aktuellen Zweig. Auch kleine Hobby-Projekte können davon profitieren, wenn man z.B. Zweige für experimentelle Zwecke verwenden will. Wenn das Experiment gegen die Wand gefahren wurde, dann wirft man es weg und entwickelt am Hauptzweig weiter. Wenn es erfolgreich war, führt man es mittels eines bestimmten Kommandos mit dem Hauptzweig zusammen.

Möglicherweise ist das ja auch für dich mal einen Blick wert... :)
Benutzeravatar
Sophus
User
Beiträge: 1109
Registriert: Freitag 25. April 2014, 12:46
Wohnort: Osnabrück

@snafu und jerch: Klingt alles sehr schön und interessant. Ich habe mir schon vor längerer Zeit, als ich mich zum ersten Mal für Python interessierte ein Konto bei GitHub und Bitbucket eingerichtet. Aber wie kann man außerhalb dieser Plattform und außerhalb des Internets eine VCS betreiben? Einfach per TXT-Datei jeden Tag so eine Art Entwicklertagebuch schreiben?

In Etwa so?
01.05.2015
- Funtion XY wurde verbesser
- Function XY wurde hinzugefügt

02.05.2015
- Funktion XY wurde aufgelöst und in Klasse umgewandelt
- ...
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Es gibt für Git ein schönes Buch - da drin findest Du alles, was Du wissen willst :)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
Sophus
User
Beiträge: 1109
Registriert: Freitag 25. April 2014, 12:46
Wohnort: Osnabrück

@Hyperion: Danke. Ich habe es mir erst einmal als PDF-Datei runtergeladen. Anschauen werde ich es mir später :-)
Antworten